Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

Math.Ceiling Method

Definition

Namespace:
System
Assemblies:
mscorlib.dll, System.Runtime.Extensions.dll
Assemblies:
netstandard.dll, System.Runtime.dll
Assembly:
System.Runtime.Extensions.dll
Assembly:
mscorlib.dll
Assembly:
netstandard.dll

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Returns the smallest integral value greater than or equal to the specified number.

Overloads

Name Description
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.

Remarks

The behavior of this method follows IEEE Standard 754, section 4. This kind of rounding is sometimes called rounding toward positive infinity.

Ceiling(Decimal)

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

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

Parameters

d
Decimal

A decimal number.

Returns

The smallest integral value that is greater than or equal to d. Note that this method returns a Decimal instead of an integral type.

Examples

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
// 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

Remarks

The behavior of this method follows IEEE Standard 754, section 4. This kind of rounding is sometimes called rounding toward positive infinity. In other words, if d is positive, the presence of any fractional component causes d to be rounded to the next highest integer. If d is negative, the rounding operation causes any fractional component of d to be discarded. The operation of this method differs from the Floor(Decimal) method, which supports rounding toward negative infinity.

See also

Applies to

Ceiling(Double)

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

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

Parameters

a
Double

A double-precision floating-point number.

Returns

The smallest integral value that is greater than or equal to a. If a is equal to NaN, NegativeInfinity, or PositiveInfinity, that value is returned. Note that this method returns a Double instead of an integral type.

Examples

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
// 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

Remarks

The behavior of this method follows IEEE Standard 754, section 4. This kind of rounding is sometimes called rounding toward positive infinity. In other words, if a is positive, the presence of any fractional component causes a to be rounded to the next highest integer. If a is negative, the rounding operation causes any fractional component of a to be discarded. The operation of this method differs from the Floor(Double) method, which supports rounding toward negative infinity.

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

See also

Applies to


Feedback

Was this page helpful?