Math.Ceiling 方法

定義

傳回大於或等於指定數字的最小整數值。

多載

Ceiling(Decimal)

傳回大於或等於指定之十進位數字的最小整數值。

Ceiling(Double)

傳回大於或等於指定之雙精確度浮點數的最小整數值。

備註

此方法的行為遵循 IEEE Standard 754 第 4 節。 這種四捨五入有時稱為向正無限大四捨五入。

Ceiling(Decimal)

來源:
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 的最小整數值。 請注意,這個方法會傳回 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 Standard 754 第 4 節。 這種四捨五入有時稱為向正無限大四捨五入。 換句話說,如果 d 為正數,則任何小數部分 d 的存在都會四捨五入至下一個最高的整數。 如果 d 為負數,四捨五入作業會導致 捨棄 的任何小數部分 d 。 這個方法的作業與 Floor(Decimal) 方法不同,其支援四捨五入為負無限大。

另請參閱

適用於

Ceiling(Double)

來源:
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 等於 NaNNegativeInfinityPositiveInfinity,則會傳回該值。 請注意,這個方法會傳回 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 Standard 754 第 4 節。 這種四捨五入有時稱為向正無限大四捨五入。 換句話說,如果 a 為正數,則任何小數部分 a 的存在都會四捨五入至下一個最高的整數。 如果 a 為負數,四捨五入作業會導致 捨棄 的任何小數部分 a 。 這個方法的作業與 Floor(Double) 方法不同,其支援四捨五入為負無限大。

從 Visual Basic 15.8 開始,如果您將 Ceiling 方法所傳回的值傳遞給任何整數轉換函式,或 Ceiling 所傳回的 Double 值自動轉換為整數且 Option Stric 設為 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

另請參閱

適用於