Math.Ceiling 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回傳大於或等於指定數值的最小整數值。
多載
| 名稱 | Description |
|---|---|
| Ceiling(Decimal) |
回傳大於或等於指定十進位數的最小整數值。 |
| Ceiling(Double) |
回傳大於或等於指定雙精度浮點數的最小整數值。 |
備註
此方法的行為遵循 IEEE 標準 754 第4節。 這種四捨五入有時稱為向正無限遠四捨五入。
Ceiling(Decimal)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- 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於的最小整數值。 請注意,此方法回傳的 a 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)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- 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,則返回該值。 請注意,此方法回傳的 a 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 關閉,則會優化雙整數轉換的效能。 此最佳化可讓程式碼執行得更快,對於執行大量整數類型的程式碼,速度最高可達兩倍。 以下範例說明了此類最佳化轉換:
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