This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can trysigning in orchanging directories.
Access to this page requires authorization. You can trychanging directories.
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.
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. |
The behavior of this method follows IEEE Standard 754, section 4. This kind of rounding is sometimes called rounding toward positive infinity.
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
A decimal number.
The smallest integral value that is greater than or equal tod
. Note that this method returns aDecimal instead of an integral type.
The following example illustrates theMath.Ceiling(Decimal) method and contrasts it with theFloor(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
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, ifd
is positive, the presence of any fractional component causesd
to be rounded to the next highest integer. Ifd
is negative, the rounding operation causes any fractional component ofd
to be discarded. The operation of this method differs from theFloor(Decimal) method, which supports rounding toward negative infinity.
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
A double-precision floating-point number.
The smallest integral value that is greater than or equal toa
. Ifa
is equal toNaN,NegativeInfinity, orPositiveInfinity, that value is returned. Note that this method returns aDouble instead of an integral type.
The following example illustrates theMath.Ceiling(Double) method and contrasts it with theFloor(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
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, ifa
is positive, the presence of any fractional component causesa
to be rounded to the next highest integer. Ifa
is negative, the rounding operation causes any fractional component ofa
to be discarded. The operation of this method differs from theFloor(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 theCeiling
method to the any of theintegral conversion functions, or if the Double value returned byCeiling
is automatically converted to an integer withOption 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.75133Dim i1 As Integer = CInt(Math.Ceiling(d1)) ' Result: 1044Dim d2 As Double = 7968.4136Dim i2 As Integer = CInt(Math.Ceiling(d2)) ' Result: 7969
Was this page helpful?
Was this page helpful?