Decimal.Floor(Decimal) 方法

定义

将指定的 Decimal 数字向负无穷方向舍入为最接近的整数。Rounds a specified Decimal number to the closest integer toward negative infinity.

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

要舍入的值。The value to round.

返回

如果 d 有小数部分,则为负无穷方向上小于 d 的下一个整 Decimal 数字。If d has a fractional part, the next whole Decimal number toward negative infinity that is less than d.

-or- 如果 d 没有小数部分,则 d 原样返回。If d doesn't have a fractional part, d is returned unchanged. 请注意,该方法将返回 Decimal 类型的整数值。Note that the method returns an integral value of type Decimal.

示例

下面的示例演示 Floor 方法,并将其与 Ceiling 方法进行比较。The following example illustrates the Floor method and contrasts it with the Ceiling method.

using System;

public class Example
{
   public static void Main()
   {
      decimal[] values = {12.6m, 12.1m, 9.5m, 8.16m, .1m, -.1m,  -1.1m, 
                          -1.9m, -3.9m};
      Console.WriteLine("{0,-8} {1,10} {2,10}\n", 
                        "Value", "Ceiling", "Floor");
      foreach (decimal value in values)
      Console.WriteLine("{0,-8} {1,10} {2,10}", value,
                        Decimal.Ceiling(value), Decimal.Floor(value));

   }
}
// The example displays the following output:
//       Value       Ceiling      Floor
//       
//       12.6             13         12
//       12.1             13         12
//       9.5              10          9
//       8.16              9          8
//       0.1               1          0
//       -0.1              0         -1
//       -1.1             -1         -2
//       -1.9             -1         -2
//       -3.9             -3         -4
Module Example
   Public Sub Main()
      Dim values() As Decimal = {12.6d, 12.1d, 9.5d, 8.16d, .1d, -.1d,  
                                 -1.1d, -1.9d, -3.9d}
      Console.WriteLine("{0,-8} {1,10} {2,10}", 
                        "Value", "Ceiling", "Floor")
      Console.WriteLine()
      For Each value As Decimal In values
      Console.WriteLine("{0,-8} {1,10} {2,10}", value,
                        Decimal.Ceiling(value), Decimal.Floor(value))
      Next                                     
   End Sub
End Module
' The example displays the following output:
'       Value       Ceiling      Floor
'       
'       12.6             13         12
'       12.1             13         12
'       9.5              10          9
'       8.16              9          8
'       0.1               1          0
'       -0.1              0         -1
'       -1.1             -1         -2
'       -1.9             -1         -2
'       -3.9             -3         -4      

注解

此方法的行为遵循 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.

适用于

另请参阅