Math.Ceiling Метод

Определение

Возвращает наименьшее целое число, которое больше или равно указанному числу.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.

Комментарии

Поведение этого метода соответствует стандарту IEEE 754, разделу 4.The behavior of this method follows IEEE Standard 754, section 4. Этот тип округления иногда называют округлением до положительной бесконечности.This kind of rounding is sometimes called rounding toward positive infinity.

Ceiling(Decimal)

Возвращает наименьшее целое число, которое больше или равно заданному десятичному числу.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

Параметры

d
Decimal

Десятичное число.A decimal number.

Возвращаемое значение

Decimal

Наименьшее целое число, которое больше или равно d.The smallest integral value that is greater than or equal to d. Обратите внимание, что данный метод возвращает не целочисленное значение, а значение типа Decimal.Note that this method returns a Decimal instead of an integral type.

Примеры

В следующем примере показан Math.Ceiling(Decimal) метод и его отличие от Floor(Decimal) метода.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
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 754, разделу 4.The behavior of this method follows IEEE Standard 754, section 4. Этот тип округления иногда называют округлением до положительной бесконечности.This kind of rounding is sometimes called rounding toward positive infinity. Иными словами, если d имеет положительное значение, присутствие какого-либо компонента дробной части приводит к d округлению до ближайшего наибольшего целого числа.In other words, if d is positive, the presence of any fractional component causes d to be rounded to the next highest integer. Если d имеет отрицательное значение, операция округления приводит к отмене любого дробного компонента d для.If d is negative, the rounding operation causes any fractional component of d to be discarded. Операция этого метода отличается от Floor(Decimal) метода, который поддерживает округление в сторону отрицательной бесконечности.The operation of this method differs from the Floor(Decimal) method, which supports rounding toward negative infinity.

См. также раздел

Применяется к

Ceiling(Double)

Возвращает наименьшее целое число, которое больше или равно заданному числу с плавающей запятой двойной точности.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

Число двойной точности с плавающей запятой.A double-precision floating-point number.

Возвращаемое значение

Double

Наименьшее целое число, которое больше или равно a.The smallest integral value that is greater than or equal to a. Если значение параметра a равно NaN, NegativeInfinity или PositiveInfinity, возвращается это значение.If a is equal to NaN, NegativeInfinity, or PositiveInfinity, that value is returned. Обратите внимание, что данный метод возвращает не целочисленное значение, а значение типа Double.Note that this method returns a Double instead of an integral type.

Примеры

В следующем примере показан Math.Ceiling(Double) метод и его отличие от Floor(Double) метода.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
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 754, разделу 4.The behavior of this method follows IEEE Standard 754, section 4. Этот тип округления иногда называют округлением до положительной бесконечности.This kind of rounding is sometimes called rounding toward positive infinity. Иными словами, если a имеет положительное значение, присутствие какого-либо компонента дробной части приводит к a округлению до ближайшего наибольшего целого числа.In other words, if a is positive, the presence of any fractional component causes a to be rounded to the next highest integer. Если a имеет отрицательное значение, операция округления приводит к отмене любого дробного компонента a для.If a is negative, the rounding operation causes any fractional component of a to be discarded. Операция этого метода отличается от Floor(Double) метода, который поддерживает округление в сторону отрицательной бесконечности.The operation of this method differs from the Floor(Double) method, which supports rounding toward negative infinity.

Начиная с Visual Basic 15,8, производительность преобразования типа "двойное в целое число" оптимизирована, если передать значение, возвращаемое Ceiling методом, в любую функцию целочисленного преобразованияили если значение Double, возвращаемое, Ceiling автоматически преобразуется в целое число с параметром Option-on , равным OFF.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

См. также раздел

Применяется к