Math.Ceiling 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回大于或等于指定数字的最小整数值。
重载
Ceiling(Decimal) |
返回大于或等于指定的十进制数的最小整数值。 |
Ceiling(Double) |
返回大于或等于指定的双精度浮点数的最小整数值。 |
注解
此方法的行为遵循 IEEE 标准 754 第 4 节。 这种舍入有时称为向正无穷大舍入。
Ceiling(Decimal)
- Source:
- Math.cs
- Source:
- Math.cs
- Source:
- Math.cs
返回大于或等于指定的十进制数的最小整数值。
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
一个小数。
返回
大于或等于 d
的最小整数值。 请注意,此方法返回 Decimal,而不是整数类型。
示例
以下示例演示 了 方法, Math.Ceiling(Decimal) 并将其与 Floor(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
舍入到下一个最高整数。 如果 d
为负数,则舍入运算会导致 放弃 的任何 d
小数部分。 此方法的运算不同于 Floor(Decimal) 方法,后者支持向负无穷大舍入。
另请参阅
适用于
Ceiling(Double)
- Source:
- Math.cs
- Source:
- Math.cs
- Source:
- Math.cs
返回大于或等于指定的双精度浮点数的最小整数值。
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
的最小整数值。 如果 a
等于 NaN、NegativeInfinity 或 PositiveInfinity,则返回该值。 请注意,此方法返回 Double,而不是整数类型。
示例
以下示例演示 了 方法, Math.Ceiling(Double) 并将其与 Floor(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 节。 这种舍入有时称为向正无穷大舍入。 换句话说,如果 a
为正,则存在任何小数部分会导致 a
舍入到下一个最高整数。 如果 a
为负数,则舍入运算会导致 放弃 的任何 a
小数部分。 此方法的运算不同于 Floor(Double) 方法,后者支持向负无穷大舍入。
从 Visual Basic 15.8 开始,如果将 方法返回 Ceiling
的值传递给任何整型转换 函数,或者将 返回 Ceiling
的 Double 值自动转换为 Option Strict 设置为 Off 的整数,则会优化双精度转换的性能。 此优化使代码可以更快运行 -- 对于进行大量到整型类型的转换的代码,可快达两倍。 以下示例演示了此类优化转换:
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