Math.Ceiling Метод

Определение

Возвращает наименьшее целое число, которое больше или равно указанному числу.

Перегрузки

Ceiling(Decimal)

Возвращает наименьшее целое число, которое больше или равно заданному десятичному числу.

Ceiling(Double)

Возвращает наименьшее целое число, которое больше или равно заданному числу с плавающей запятой двойной точности.

Комментарии

Поведение этого метода соответствует стандарту IEEE 754, раздел 4. Такое округление иногда называют округлением в сторону положительной бесконечности.

Ceiling(Decimal)

Исходный код:
Math.cs
Исходный код:
Math.cs
Исходный код:
Math.cs

Возвращает наименьшее целое число, которое больше или равно заданному десятичному числу.

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

Десятичное число.

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

Наименьшее целое число, которое больше или равно 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 754, раздел 4. Такое округление иногда называют округлением в сторону положительной бесконечности. Иными словами, если d является положительным, то наличие любого дробного компонента приводит d к округлению до следующего наибольшего целого числа. Если d значение отрицательное, операция округления приводит к отмене любого дробного компонента d . Операция этого метода отличается от Floor(Decimal) метода , который поддерживает округление в сторону отрицательной бесконечности.

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

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

Ceiling(Double)

Исходный код:
Math.cs
Исходный код:
Math.cs
Исходный код:
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. Если значение параметра a равно NaN, NegativeInfinity или PositiveInfinity, возвращается это значение. Обратите внимание, что данный метод возвращает не целочисленное значение, а значение типа 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 754, раздел 4. Такое округление иногда называют округлением в сторону положительной бесконечности. Иными словами, если a является положительным, то наличие любого дробного компонента приводит a к округлению до следующего наибольшего целого числа. Если a значение отрицательное, операция округления приводит к отмене любого дробного компонента a . Операция этого метода отличается от Floor(Double) метода , который поддерживает округление в сторону отрицательной бесконечности.

Начиная с Visual Basic 15.8, производительность преобразования double-to-integer оптимизирована при передаче значения, возвращаемого методом, в любую из функций целочисленного преобразования или если значение Double, возвращаемое , автоматически преобразуется в целое число с параметром CeilingCeilingOption Strict, равным Off. Эта оптимизация позволяет коду выполняться быстрее — до двух раз быстрее для кода, который выполняет большое количество преобразований в целочисленные типы. В следующем примере показаны такие оптимизированные преобразования:

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

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

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