Math.Floor 方法

定义

返回小于或等于指定数字的最大整型值。

重载

Floor(Decimal)

返回小于或等于指定十进制数的最大整型值。

Floor(Double)

返回小于或等于指定的双精度浮点数的最大整型值。

注解

此方法的行为遵循 IEEE 标准 754 第 4 节。 这种舍入有时称为向负无穷大舍入。

Floor(Decimal)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

返回小于或等于指定十进制数的最大整型值。

public static decimal Floor(decimal d);

参数

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

注解

此方法的行为遵循 IEEE 标准 754 第 4 节。 这种舍入有时称为向负无穷大舍入。 换句话说,如果 d 为正数,则会截断任何小数部分。 如果 d 为负数,则存在任何小数分量会导致它舍入为较小的整数。 此方法的操作不同于 Ceiling 方法,该方法支持向正无穷大舍入。

另请参阅

适用于

.NET 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Floor(Double)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

返回小于或等于指定的双精度浮点数的最大整型值。

public static double Floor(double d);

参数

d
Double

双精度浮点数。

返回

小于或等于 d的最大整型值。 如果 d 等于 NaNNegativeInfinityPositiveInfinity,则返回该值。

示例

下面的示例演示 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

注解

此方法的行为遵循 IEEE 标准 754 第 4 节。 这种舍入有时称为向负无穷大舍入。 换句话说,如果 d 为正数,则会截断任何小数部分。 如果 d 为负数,则存在任何小数分量会导致它舍入为较小的整数。 此方法的操作不同于 Ceiling 方法,该方法支持向正无穷大舍入。

从 Visual Basic 15.8 开始,如果将 方法返回的值传递给的任何 整型转换函数,或者 返回的 Double 值会自动转换为 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 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0