Export (0) Print
Expand All
2 out of 6 rated this helpful - Rate this topic

Math.Ceiling Method

Returns the smallest whole number greater than or equal to the specified number.

[Visual Basic]
Public Shared Function Ceiling( _
   ByVal a As Double _
) As Double
[C#]
public static double Ceiling(
 double a
);
[C++]
public: static double Ceiling(
 double a
);
[JScript]
public static function Ceiling(
   a : double
) : double;

Parameters

a
A number.

Return Value

The smallest whole number greater than or equal to a. If a is equal to NaN, NegativeInfinity, or PositiveInfinity, that value is returned.

Remarks

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

Example

[Visual Basic] 
' This example demonstrates Math.Ceiling()
'                           Math.Floor()
Imports System

Class Sample
   Public Shared Sub Main()
      Dim value As Double
      Dim nl As String = Environment.NewLine
      
' Return the smallest whole number greater than or equal to the 
' specified number.
' Note that the results are affected by the precision of the floating point
' number, value.

      Console.WriteLine("{0}Ceiling:", nl)
      For value = 0.0 To 1.1 Step 0.1
         Console.WriteLine("Ceiling({0:f}) = {1}", value, Math.Ceiling(value))
      Next value

' Return the largest whole number less than or equal to the specified
' number.
' Note that the results are affected by the precision of the floating point
' number, value.

      Console.WriteLine("{0}Floor:", nl)
      For value = 2.1 To 0.9 Step -0.1
         Console.WriteLine("Floor({0:f}) = {1}", value, Math.Floor(value))
      Next value
   End Sub 'Main
End Class 'Sample 
'
'This example produces the following results:
'
'Ceiling:
'Ceiling(0.00) = 0
'Ceiling(0.10) = 1
'Ceiling(0.20) = 1
'Ceiling(0.30) = 1
'Ceiling(0.40) = 1
'Ceiling(0.50) = 1
'Ceiling(0.60) = 1
'Ceiling(0.70) = 1
'Ceiling(0.80) = 1
'Ceiling(0.90) = 1
'Ceiling(1.00) = 1
'Ceiling(1.10) = 2
'
'Floor:
'Floor(2.10) = 2
'Floor(2.00) = 2
'Floor(1.90) = 1
'Floor(1.80) = 1
'Floor(1.70) = 1
'Floor(1.60) = 1
'Floor(1.50) = 1
'Floor(1.40) = 1
'Floor(1.30) = 1
'Floor(1.20) = 1
'Floor(1.10) = 1
'Floor(1.00) = 0
'

[C#] 
// This example demonstrates Math.Ceiling()
//                           Math.Floor()
using System;

class Sample 
{
    public static void Main() 
    {
    double value;
    string nl = Environment.NewLine;

// Return the smallest whole number greater than or equal to the 
// specified number.
// Note that the results are affected by the precision of the floating point
// number, value.

    Console.WriteLine("{0}Ceiling:", nl);
    for (value = 0.0; value <= 1.1; value += 0.1)
      Console.WriteLine("Ceiling({0:f}) = {1}", value, Math.Ceiling(value));

// Return the largest whole number less than or equal to the specified
// number.
// Note that the results are affected by the precision of the floating point
// number, value.

    Console.WriteLine("{0}Floor:", nl);
    for (value = 2.1; value >= 0.9; value -= 0.1)
      Console.WriteLine("Floor({0:f}) = {1}", value, Math.Floor(value));
    }
}
/*
This example produces the following results:

Ceiling:
Ceiling(0.00) = 0
Ceiling(0.10) = 1
Ceiling(0.20) = 1
Ceiling(0.30) = 1
Ceiling(0.40) = 1
Ceiling(0.50) = 1
Ceiling(0.60) = 1
Ceiling(0.70) = 1
Ceiling(0.80) = 1
Ceiling(0.90) = 1
Ceiling(1.00) = 1
Ceiling(1.10) = 2

Floor:
Floor(2.10) = 2
Floor(2.00) = 2
Floor(1.90) = 1
Floor(1.80) = 1
Floor(1.70) = 1
Floor(1.60) = 1
Floor(1.50) = 1
Floor(1.40) = 1
Floor(1.30) = 1
Floor(1.20) = 1
Floor(1.10) = 1
Floor(1.00) = 0
*/

[C++] 
// This example demonstrates Math.Ceiling()
//                           Math.Floor()
#using <mscorlib.dll>
using namespace System;

int main() 
{
    double value;
    String* nl = Environment::NewLine;

// Return the smallest whole number greater than or equal to the 
// specified number.
// Note that the results are affected by the precision of the floating point
// number, value.

    Console::WriteLine(S"{0}Ceiling:", nl);
    for (value = 0.0; value <= 1.1; value += 0.1)
      Console::WriteLine(S"Ceiling({0:f}) = {1}", __box(value), __box(Math::Ceiling(value)));

// Return the largest whole number less than or equal to the specified
// number.
// Note that the results are affected by the precision of the floating point
// number, value.

    Console::WriteLine(S"{0}Floor:", nl);
    for (value = 2.1; value >= 0.9; value -= 0.1)
      Console::WriteLine(S"Floor({0:f}) = {1}", __box(value), __box(Math::Floor(value)));
}
/*
This example produces the following results:

Ceiling:
Ceiling(0.00) = 0
Ceiling(0.10) = 1
Ceiling(0.20) = 1
Ceiling(0.30) = 1
Ceiling(0.40) = 1
Ceiling(0.50) = 1
Ceiling(0.60) = 1
Ceiling(0.70) = 1
Ceiling(0.80) = 1
Ceiling(0.90) = 1
Ceiling(1.00) = 1
Ceiling(1.10) = 2

Floor:
Floor(2.10) = 2
Floor(2.00) = 2
Floor(1.90) = 1
Floor(1.80) = 1
Floor(1.70) = 1
Floor(1.60) = 1
Floor(1.50) = 1
Floor(1.40) = 1
Floor(1.30) = 1
Floor(1.20) = 1
Floor(1.10) = 1
Floor(1.00) = 0
*/

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

Math Class | Math Members | System Namespace | Round | Floor

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.