Math.Ceiling 方法

定义

返回大于或等于指定数字的最小整数值。Returns the smallest integral value greater than or equal to the specified number.

重载

Ceiling(Decimal)

返回大于或等于指定的十进制数的最小整数值。Returns the smallest integral value that is greater than or equal to the specified decimal number.

Ceiling(Double)

返回大于或等于指定的双精度浮点数的最小整数值。Returns the smallest integral value that is greater than or equal to the specified double-precision floating-point number.

注解

此方法的行为遵循 IEEE 标准754第4部分。The behavior of this method follows IEEE Standard 754, section 4. 这种类型的舍入有时称作向正无穷舍入。This kind of rounding is sometimes called rounding toward positive infinity.

Ceiling(Decimal)

返回大于或等于指定的十进制数的最小整数值。Returns the smallest integral value that is greater than or equal to the specified decimal number.

public:
 static System::Decimal Ceiling(System::Decimal d);
public static decimal Ceiling (decimal d);
static member Ceiling : decimal -> decimal
Public Shared Function Ceiling (d As Decimal) As Decimal

参数

d
Decimal

十进制数。A decimal number.

返回

Decimal

大于或等于 d 的最小整数值。The smallest integral value that is greater than or equal to d. 请注意,此方法返回 Decimal,而不是整数类型。Note that this method returns a Decimal instead of an integral type.

示例

下面的示例演示 Math.Ceiling(Decimal) 方法,并将其与方法进行比较 Floor(Decimal)The following example illustrates the Math.Ceiling(Decimal) method and contrasts it with the Floor(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 positive infinity. 换言之,如果 d 为正,则任何小数部分的存在都会导致 d 舍入到下一个最大的整数。In other words, if d is positive, the presence of any fractional component causes d to be rounded to the next highest integer. 如果 d 为负,则舍入操作将导致丢弃的任何小数部分 dIf d is negative, the rounding operation causes any fractional component of d to be discarded. 此方法的操作不同于 Floor(Decimal) 方法,后者支持向负无穷舍入。The operation of this method differs from the Floor(Decimal) method, which supports rounding toward negative infinity.

另请参阅

适用于

Ceiling(Double)

返回大于或等于指定的双精度浮点数的最小整数值。Returns the smallest integral value that is greater than or equal to the specified double-precision floating-point number.

public:
 static double Ceiling(double a);
public static double Ceiling (double a);
static member Ceiling : double -> double
Public Shared Function Ceiling (a As Double) As Double

参数

a
Double

一个双精度浮点数。A double-precision floating-point number.

返回

Double

大于或等于 a 的最小整数值。The smallest integral value that is greater than or equal to a. 如果 a 等于 NaNNegativeInfinityPositiveInfinity,则返回该值。If a is equal to NaN, NegativeInfinity, or PositiveInfinity, that value is returned. 请注意,此方法返回 Double,而不是整数类型。Note that this method returns a Double instead of an integral type.

示例

下面的示例演示 Math.Ceiling(Double) 方法,并将其与方法进行比较 Floor(Double)The following example illustrates the Math.Ceiling(Double) method and contrasts it with the Floor(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 positive infinity. 换言之,如果 a 为正,则任何小数部分的存在都会导致 a 舍入到下一个最大的整数。In other words, if a is positive, the presence of any fractional component causes a to be rounded to the next highest integer. 如果 a 为负,则舍入操作将导致丢弃的任何小数部分 aIf a is negative, the rounding operation causes any fractional component of a to be discarded. 此方法的操作不同于 Floor(Double) 方法,后者支持向负无穷舍入。The operation of this method differs from the Floor(Double) method, which supports rounding toward negative infinity.

从 Visual Basic 15.8 开始,如果将由方法返回的值传递 Ceiling 到任何整型转换函数,或者如果返回的双精度值 Ceiling 被设置为 Off ,则会优化双精度转换的性能。Starting with Visual Basic 15.8, the performance of Double-to-integer conversion is optimized if you pass the value returned by the Ceiling method to the any of the integral conversion functions, or if the Double value returned by Ceiling 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: 1044

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

另请参阅

适用于