Math.Floor Yöntem

Tanım

Belirtilen sayıdan küçük veya buna eşit en büyük tamsayı değerini döndürür.

Aşırı Yüklemeler

Floor(Double)

Belirtilen çift duyarlıklı kayan noktalı sayıya eşit veya ondan küçük en büyük tamsayı değerini döndürür.

Floor(Decimal)

Belirtilen ondalık sayıdan küçük veya buna eşit en büyük tamsayı değerini döndürür.

Açıklamalar

Bu yöntemin çalışma biçimi IEEE Standardı 754, bölüm 4'e göredir. Bu tür yuvarlamaya bazen eksi sonsuza doğru yuvarlama denir.

Floor(Double)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

Belirtilen çift duyarlıklı kayan noktalı sayıya eşit veya ondan küçük en büyük tamsayı değerini döndürür.

public:
 static double Floor(double d);
public static double Floor (double d);
static member Floor : double -> double
Public Shared Function Floor (d As Double) As Double

Parametreler

d
Double

Çift duyarlıklı, kayan noktalı bir sayı.

Döndürülenler

değerinden küçük veya eşit den büyük tam sayı değeri. , NegativeInfinityveya PositiveInfinitydeğerine eşitse dNaN, bu değer döndürülür.

Örnekler

Aşağıdaki örnek, yöntemini gösterir Math.Floor(Double) ve yöntemiyle Ceiling(Double) karşıtlık oluşturur.

double[] values = {7.03, 7.64, 0.12, -0.12, -7.1, -7.6};
Console.WriteLine("  Value          Ceiling          Floor\n");
foreach (double value in values)
   Console.WriteLine("{0,7} {1,16} {2,14}",
                     value, Math.Ceiling(value), Math.Floor(value));
// The example displays the following output to the console:
//         Value          Ceiling          Floor
//
//          7.03                8              7
//          7.64                8              7
//          0.12                1              0
//         -0.12                0             -1
//          -7.1               -7             -8
//          -7.6               -7             -8
// The ceil and floor functions may be used instead.
let values = 
    [ 7.03; 7.64; 0.12; -0.12; -7.1; -7.6 ]
printfn "  Value          Ceiling          Floor\n"
for value in values do
    printfn $"{value,7} {Math.Ceiling value,16} {Math.Floor value,14}"
// The example displays the following output to the console:
//         Value          Ceiling          Floor
//
//          7.03                8              7
//          7.64                8              7
//          0.12                1              0
//         -0.12                0             -1
//          -7.1               -7             -8
//          -7.6               -7             -8
Dim values() As Double = {7.03, 7.64, 0.12, -0.12, -7.1, -7.6}
Console.WriteLine("  Value          Ceiling          Floor")
Console.WriteLine()
For Each value As Double In values
   Console.WriteLine("{0,7} {1,16} {2,14}", _
                     value, Math.Ceiling(value), Math.Floor(value))
Next   
' The example displays the following output to the console:
'         Value          Ceiling          Floor
'       
'          7.03                8              7
'          7.64                8              7
'          0.12                1              0
'         -0.12                0             -1
'          -7.1               -7             -8
'          -7.6               -7             -8

Açıklamalar

Bu yöntemin çalışma biçimi IEEE Standardı 754, bölüm 4'e göredir. Bu tür yuvarlamaya bazen eksi sonsuza doğru yuvarlama denir. Başka bir deyişle, pozitifse d , herhangi bir kesirli bileşen kesilir. Negatifse d , herhangi bir kesirli bileşenin varlığı daha küçük tamsayıya yuvarlanmasını sağlar. Bu yöntemin işlemi, pozitif sonsuzluk yönünde yuvarlama destekleyen yönteminden Ceiling farklıdır.

Visual Basic 15.8'den başlayarak, yöntem tarafından Floor döndürülen değeri tamsayı dönüştürme işlevlerinden herhangi birine geçirirseniz veya tarafından döndürülen Floor Double değeri otomatik olarak Option Strict ayarı Kapalı olarak ayarlanmış bir tamsayıya dönüştürülürse Çift tamsayı dönüştürmenin performansı iyileştirilir. Bu iyileştirme, kodun daha hızlı çalışmasını sağlar; tamsayı türlerine çok sayıda dönüştürme işlemi yürüten kod için iki kat daha hızlıdır. Aşağıdaki örnekte bu tür iyileştirilmiş dönüştürmeler gösterilmektedir:

Dim d1 As Double = 1043.75133
Dim i1 As Integer = CInt(Math.Floor(d1))        ' Result: 1043

Dim d2 As Double = 7968.4136
Dim i2 As Integer = CInt(Math.Floor(d2))        ' Result: 7968

Ayrıca bkz.

Şunlara uygulanır

Floor(Decimal)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

Belirtilen ondalık sayıdan küçük veya buna eşit en büyük tamsayı değerini döndürür.

public:
 static System::Decimal Floor(System::Decimal d);
public static decimal Floor (decimal d);
static member Floor : decimal -> decimal
Public Shared Function Floor (d As Decimal) As Decimal

Parametreler

d
Decimal

Ondalık sayı.

Döndürülenler

değerinden küçük veya eşit den büyük tam sayı değeri. yönteminin türünde Decimalbir integral değeri döndürdüğünü unutmayın.

Örnekler

Aşağıdaki örnek, yöntemini gösterir Math.Floor(Decimal) ve yöntemiyle Ceiling(Decimal) karşıtlık oluşturur.

decimal[] values = {7.03m, 7.64m, 0.12m, -0.12m, -7.1m, -7.6m};
Console.WriteLine("  Value          Ceiling          Floor\n");
foreach (decimal value in values)
   Console.WriteLine("{0,7} {1,16} {2,14}",
                     value, Math.Ceiling(value), Math.Floor(value));
// The example displays the following output to the console:
//         Value          Ceiling          Floor
//
//          7.03                8              7
//          7.64                8              7
//          0.12                1              0
//         -0.12                0             -1
//          -7.1               -7             -8
//          -7.6               -7             -8
// The ceil and floor functions may be used instead. 
let values = 
    [ 7.03m; 7.64m; 0.12m; -0.12m; -7.1m; -7.6m ]
printfn "  Value          Ceiling          Floor\n"
for value in values do
    printfn $"{value,7} {Math.Ceiling value,16} {Math.Floor value,14}"
// The example displays the following output to the console:
//         Value          Ceiling          Floor
//
//          7.03                8              7
//          7.64                8              7
//          0.12                1              0
//         -0.12                0             -1
//          -7.1               -7             -8
//          -7.6               -7             -8
Dim values() As Decimal = {7.03d, 7.64d, 0.12d, -0.12d, -7.1d, -7.6d}
Console.WriteLine("  Value          Ceiling          Floor")
Console.WriteLine()
For Each value As Decimal In values
   Console.WriteLine("{0,7} {1,16} {2,14}", _
                     value, Math.Ceiling(value), Math.Floor(value))
Next   
' The example displays the following output to the console:
'         Value          Ceiling          Floor
'       
'          7.03                8              7
'          7.64                8              7
'          0.12                1              0
'         -0.12                0             -1
'          -7.1               -7             -8
'          -7.6               -7             -8

Açıklamalar

Bu yöntemin çalışma biçimi IEEE Standardı 754, bölüm 4'e göredir. Bu tür yuvarlamaya bazen eksi sonsuza doğru yuvarlama denir. Başka bir deyişle, pozitifse d , herhangi bir kesirli bileşen kesilir. Negatifse d , herhangi bir kesirli bileşenin varlığı daha küçük tamsayıya yuvarlanmasını sağlar. Bu yöntemin işlemi, pozitif sonsuzluk yönünde yuvarlama destekleyen yönteminden Ceiling farklıdır.

Ayrıca bkz.

Şunlara uygulanır