Math.Ceiling 方法

定义

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

重载

Ceiling(Decimal)

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

Ceiling(Double)

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

注解

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

Ceiling(Decimal)

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

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

C#
public static decimal Ceiling(decimal d);

参数

d
Decimal

一个小数。

返回

大于或等于 d 的最小整数值。 请注意,此方法返回 Decimal,而不是整数类型。

示例

以下示例演示 了 方法, Math.Ceiling(Decimal) 并将其与 Floor(Decimal) 方法进行了对比。

C#
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 舍入到下一个最高整数。 如果 d 为负数,则舍入运算会导致 放弃 的任何 d 小数部分。 此方法的运算不同于 Floor(Decimal) 方法,后者支持向负无穷大舍入。

另请参阅

适用于

.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

Ceiling(Double)

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

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

C#
public static double Ceiling(double a);

参数

a
Double

一个双精度浮点数。

返回

大于或等于 a 的最小整数值。 如果 a 等于 NaNNegativeInfinityPositiveInfinity,则返回该值。 请注意,此方法返回 Double,而不是整数类型。

示例

以下示例演示 了 方法, Math.Ceiling(Double) 并将其与 Floor(Double) 方法进行了对比。

C#
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 节。 这种舍入有时称为向正无穷大舍入。 换句话说,如果 a 为正,则存在任何小数部分会导致 a 舍入到下一个最高整数。 如果 a 为负数,则舍入运算会导致 放弃 的任何 a 小数部分。 此方法的运算不同于 Floor(Double) 方法,后者支持向负无穷大舍入。

从 Visual Basic 15.8 开始,如果将 方法返回 Ceiling 的值传递给任何整型转换 函数,或者将 返回 Ceiling 的 Double 值自动转换为 Option Strict 设置为 Off 的整数,则会优化双精度转换的性能。 此优化使代码可以更快运行 -- 对于进行大量到整型类型的转换的代码,可快达两倍。 以下示例演示了此类优化转换:

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

Dim d2 As Double = 7968.4136
Dim i2 As Integer = CInt(Math.Ceiling(d2))        ' Result: 7969

另请参阅

适用于

.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