Math.Floor Math.Floor Math.Floor Math.Floor Method

Определение

Возвращает наибольшее целое число, которое меньше или равно указанному числу.Returns the largest integral value less than or equal to the specified number.

Перегрузки

Floor(Double) Floor(Double) Floor(Double) Floor(Double)

Возвращает наибольшее целое число, которое меньше или равно заданному числу с плавающей запятой двойной точности.Returns the largest integral value less than or equal to the specified double-precision floating-point number.

Floor(Decimal) Floor(Decimal) Floor(Decimal) Floor(Decimal)

Возвращает наибольшее целое число, которое меньше или равно указанному десятичному числу.Returns the largest integral value less than or equal to the specified decimal number.

Примеры

Примечание

Примеры C# в этой статье выполняются во встроенном средстве выполнения кода и на площадке Try.NET.The C# examples in this article run in the Try.NET inline code runner and playground. Нажмите на кнопку Выполнить, чтобы выполнить пример в интерактивном окне.Select the Run button to run an example in an interactive window. После выполнения кода вы можете изменить его и выполнить измененный код, снова нажав на кнопку Выполнить.Once you execute the code, you can modify it and run the modified code by selecting Run again. Либо в интерактивном окне выполняется измененный код, либо, если компиляция завершается с ошибкой, в интерактивном окне отображаются все сообщения об ошибках компилятора C#.The modified code either runs in the interactive window or, if compilation fails, the interactive window displays all C# compiler error messages.

Комментарии

Поведение этого метода соответствует стандарту IEEE-754, раздел 4.The behavior of this method follows IEEE Standard 754, section 4. Этот способ округления иногда называется округлением в сторону отрицательной бесконечности.This kind of rounding is sometimes called rounding toward negative infinity.

Floor(Double) Floor(Double) Floor(Double) Floor(Double)

Возвращает наибольшее целое число, которое меньше или равно заданному числу с плавающей запятой двойной точности.Returns the largest integral value less than or equal to the specified double-precision floating-point number.

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 Double Double Double

Число двойной точности с плавающей запятой.A double-precision floating-point number.

Возвраты

Наибольшее целое число, которое меньше или равно d.The largest integral value less than or equal to d. Если значение параметра d равно NaN, NegativeInfinity или PositiveInfinity, возвращается это значение.If d is equal to NaN, NegativeInfinity, or PositiveInfinity, that value is returned.

Примеры

В следующем примере показано Math.Floor(Double) метод и производится сравнение его с Ceiling(Double) метод.The following example illustrates the Math.Floor(Double) method and contrasts it with the Ceiling(Double) method.

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
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.The behavior of this method follows IEEE Standard 754, section 4. Этот способ округления иногда называется округлением в сторону отрицательной бесконечности.This kind of rounding is sometimes called rounding toward negative infinity. Другими словами Если d положительно, любой дробная усекается.In other words, if d is positive, any fractional component is truncated. Если d является отрицательным, наличие любого дробного компонента приводит к его округляться до меньшего целого числа.If d is negative, the presence of any fractional component causes it to be rounded to the smaller integer. Операция этот метод отличается от Ceiling метод, который поддерживает округление в сторону положительной бесконечности.The operation of this method differs from the Ceiling method, which supports rounding toward positive infinity.

Начиная с Visual Basic 15.8, производительность двойной в целочисленные преобразования оптимизирован при передаче значения, возвращенного Floor метода к любому из функции преобразования целочисленных, или, если значение типа Double возвращенный Floor автоматически преобразуется в целое число с Option Strict , равным Off.Starting with Visual Basic 15.8, the performance of Double-to-integer conversion is optimized if you pass the value returned by the Floor method to the any of the integral conversion functions, or if the Double value returned by Floor is automatically converted to an integer with Option Strict set to Off. Эта оптимизация позволяет коду выполняться быстрее — до двух раз быстрее для кода, который выполняет большое количество преобразований в целочисленные типы.This optimization allows code to run faster -- up to twice as fast for code that does a large number of conversions to integer types. В следующем примере показано таких оптимизированного преобразований:The following example illustrates such optimized conversions:

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

Dim d2 As Double = 7968.4136
Dim i2 As Integer = CInt(Math.Ceiling(d2))        ' Result: 7968
Дополнительно

Floor(Decimal) Floor(Decimal) Floor(Decimal) Floor(Decimal)

Возвращает наибольшее целое число, которое меньше или равно указанному десятичному числу.Returns the largest integral value less than or equal to the specified decimal number.

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 Decimal Decimal Decimal

Десятичное число.A decimal number.

Возвраты

Наибольшее целое число, которое меньше или равно d.The largest integral value less than or equal to d. Обратите внимание, что этот метод возвращает целочисленное значение типа Decimal.Note that the method returns an integral value of type Decimal.

Примеры

В следующем примере показано Math.Floor(Decimal) метод и производится сравнение его с Ceiling(Decimal) метод.The following example illustrates the Math.Floor(Decimal) method and contrasts it with the Ceiling(Decimal) method.

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
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.The behavior of this method follows IEEE Standard 754, section 4. Этот способ округления иногда называется округлением в сторону отрицательной бесконечности.This kind of rounding is sometimes called rounding toward negative infinity. Другими словами Если d положительно, любой дробная усекается.In other words, if d is positive, any fractional component is truncated. Если d является отрицательным, наличие любого дробного компонента приводит к его округляться до меньшего целого числа.If d is negative, the presence of any fractional component causes it to be rounded to the smaller integer. Операция этот метод отличается от Ceiling метод, который поддерживает округление в сторону положительной бесконечности.The operation of this method differs from the Ceiling method, which supports rounding toward positive infinity.

Дополнительно

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