Math.Floor 方法 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回小于或等于指定数字的最大整型值。
重载
| Floor(Decimal) | 返回小于或等于指定十进制数的最大整型值。 | 
| Floor(Double) | 返回小于或等于指定的双精度浮点数的最大整型值。 | 
注解
此方法的行为遵循 IEEE 标准 754 第 4 节。 这种舍入有时称为向负无穷大舍入。
Floor(Decimal)
- Source:
- Math.cs
- Source:
- Math.cs
- Source:
- Math.cs
- Source:
- Math.cs
返回小于或等于指定十进制数的最大整型值。
public:
 static System::Decimal Floor(System::Decimal d);public static decimal Floor(decimal d);static member Floor : decimal -> decimalPublic 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 方法,该方法支持向正无穷大舍入。
另请参阅
适用于
Floor(Double)
- Source:
- Math.cs
- Source:
- Math.cs
- Source:
- Math.cs
- Source:
- Math.cs
返回小于或等于指定的双精度浮点数的最大整型值。
public:
 static double Floor(double d);public static double Floor(double d);static member Floor : double -> doublePublic 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 开始,如果将 
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