Math.Floor Метод
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает наибольшее целочисленное значение меньше или равно указанному числу.
Floor(Decimal) |
Возвращает наибольшее целочисленное значение меньше или равно указанному десятичному числу. |
Floor(Double) |
Возвращает наибольшее целочисленное значение меньше или равно указанному числу с плавающей запятой двойной точности. |
Поведение этого метода следует стандарту IEEE 754, раздел 4. Этот вид округления иногда называется округлением в сторону отрицательной бесконечности.
- Исходный код:
- 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, который поддерживает округление к положительной бесконечности.
См. также раздел
Применяется к
- Исходный код:
- 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 оптимизирована, если передать значение, возвращаемое методом Floor
, любому из функций целочисленного преобразованияили если значение Double, возвращаемое Floor
, автоматически преобразуется в целое число со значением Option 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
См. также раздел
Применяется к
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: