Math.Ceiling メソッド

定義

指定した数以上の数のうち、最小の整数値を返します。

オーバーロード

Ceiling(Decimal)

指定した 10 進数以上の数のうち、最小の整数値を返します。

Ceiling(Double)

指定した倍精度浮動小数点数以上の数のうち、最小の整数値を返します。

注釈

このメソッドの動作は、IEEE Standard 754 セクション 4 に従います。 この種の丸めは、正の無限大に向かって丸めと呼ばれることもあります。

Ceiling(Decimal)

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

指定した 10 進数以上の数のうち、最小の整数値を返します。

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

10 進数。

戻り値

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)

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 以上の最小の整数値。 aNaNNegativeInfinityPositiveInfinity のいずれかに等しい場合は、その値が返されます。 このメソッドは、整数型ではなく 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 Strict が Off に設定された整数に自動的に変換される場合、Double から整数への変換のパフォーマンスが最適化されます。 この最適化によって、コードをより速く実行できます。大きい数値の整数型への変換を行うコードでは、最大で 2 倍速くなります。 次の例は、このような最適化された変換を示しています。

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

こちらもご覧ください

適用対象