Math.Floor Метод

Определение

Возвращает наибольшее целое число, которое меньше или равно указанному числу.

Перегрузки

Floor(Double)

Возвращает наибольшее целое число, которое меньше или равно заданному числу с плавающей запятой двойной точности.

Floor(Decimal)

Возвращает наибольшее целое число, которое меньше или равно указанному десятичному числу.

Комментарии

Поведение этого метода соответствует стандарту IEEE 754, раздел 4. Такой тип округления иногда называют округлением в сторону отрицательной бесконечности.

Floor(Double)

Исходный код:
Math.cs
Исходный код:
Math.cs
Исходный код:
Math.cs

Возвращает наибольшее целое число, которое меньше или равно заданному числу с плавающей запятой двойной точности.

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

Параметры

d
Double

Число двойной точности с плавающей запятой.

Возвращаемое значение

Наибольшее целое число, которое меньше или равно d. Если значение параметра d равно NaN, NegativeInfinity или PositiveInfinity, возвращается это значение.

Примеры

В следующем примере показан Math.Floor(Double) метод и он контрастирует с методом Ceiling(Double) .

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

Комментарии

Поведение этого метода соответствует стандарту IEEE 754, раздел 4. Такой тип округления иногда называют округлением в сторону отрицательной бесконечности. Другими словами, если d является положительным, любой дробный компонент усекается. Если d является отрицательным, то наличие любого дробного компонента приводит к тому, что он округляется до меньшего целого числа. Операция этого метода отличается от Ceiling метода , который поддерживает округление до положительной бесконечности.

Начиная с Visual Basic 15.8, производительность преобразования double-to-integer оптимизирована при передаче значения, возвращаемого методом, в любую из функций целочисленного преобразования или если значение Double, возвращаемое , автоматически преобразуется в целое число с параметром FloorFloorOption Strict, равным Off. Эта оптимизация позволяет коду выполняться быстрее — до двух раз быстрее для кода, который выполняет большое количество преобразований в целочисленные типы. В следующем примере показаны такие оптимизированные преобразования:

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

См. также раздел

Применяется к

Floor(Decimal)

Исходный код:
Math.cs
Исходный код:
Math.cs
Исходный код:
Math.cs

Возвращает наибольшее целое число, которое меньше или равно указанному десятичному числу.

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

Параметры

d
Decimal

Десятичное число.

Возвращаемое значение

Наибольшее целое число, которое меньше или равно d. Обратите внимание, что этот метод возвращает целочисленное значение типа Decimal.

Примеры

В следующем примере показан Math.Floor(Decimal) метод и он контрастирует с методом Ceiling(Decimal) .

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

Комментарии

Поведение этого метода соответствует стандарту IEEE 754, раздел 4. Такой тип округления иногда называют округлением в сторону отрицательной бесконечности. Другими словами, если d является положительным, любой дробный компонент усекается. Если d является отрицательным, то наличие любого дробного компонента приводит к тому, что он округляется до меньшего целого числа. Операция этого метода отличается от Ceiling метода , который поддерживает округление до положительной бесконечности.

См. также раздел

Применяется к