Math.Ceiling Metoda

Definicja

Zwraca najmniejszą wartość całkowitą większą lub równą określonej liczbie.

Przeciążenia

Nazwa Opis
Ceiling(Decimal)

Zwraca najmniejszą wartość całkowitą większą lub równą określonej liczbie dziesiętnej.

Ceiling(Double)

Zwraca najmniejszą wartość całkowitą większą lub równą określonej liczbie zmiennoprzecinkowej o podwójnej precyzji.

Uwagi

Zachowanie tej metody jest zgodne ze standardem IEEE Standard 754, sekcja 4. Tego rodzaju zaokrąglanie jest czasami nazywane zaokrąglaniem w kierunku dodatniej nieskończoności.

Ceiling(Decimal)

Zwraca najmniejszą wartość całkowitą większą lub równą określonej liczbie dziesiętnej.

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

Parametry

d
Decimal

Liczba dziesiętna.

Zwraca

Najmniejsza wartość całkowita, która jest większa lub równa d. Należy pamiętać, że ta metoda zwraca Decimal wartość zamiast typu całkowitego.

Przykłady

Poniższy przykład ilustruje metodę Math.Ceiling(Decimal) i kontrastuje ją z Floor(Decimal) metodą .

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

Uwagi

Zachowanie tej metody jest zgodne ze standardem IEEE Standard 754, sekcja 4. Tego rodzaju zaokrąglanie jest czasami nazywane zaokrąglaniem w kierunku dodatniej nieskończoności. Innymi słowy, jeśli d jest dodatni, obecność dowolnego składnika ułamkowego powoduje d zaokrąglenie do następnej najwyższej liczby całkowitej. Jeśli d jest ujemna, operacja zaokrąglania powoduje odrzucenie jakiegokolwiek składnika ułamkowego d . Operacja tej metody różni się od Floor(Decimal) metody, która obsługuje zaokrąglanie w kierunku ujemnej nieskończoności.

Zobacz też

Dotyczy

Ceiling(Double)

Zwraca najmniejszą wartość całkowitą większą lub równą określonej liczbie zmiennoprzecinkowej o podwójnej precyzji.

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

Parametry

a
Double

Liczba zmiennoprzecinkowa o podwójnej precyzji.

Zwraca

Najmniejsza wartość całkowita, która jest większa lub równa a. Jeśli a wartość jest równa NaN, NegativeInfinitylub PositiveInfinity, zwracana jest ta wartość. Należy pamiętać, że ta metoda zwraca Double wartość zamiast typu całkowitego.

Przykłady

Poniższy przykład ilustruje metodę Math.Ceiling(Double) i kontrastuje ją z Floor(Double) metodą .

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

Uwagi

Zachowanie tej metody jest zgodne ze standardem IEEE Standard 754, sekcja 4. Tego rodzaju zaokrąglanie jest czasami nazywane zaokrąglaniem w kierunku dodatniej nieskończoności. Innymi słowy, jeśli a jest dodatni, obecność dowolnego składnika ułamkowego powoduje a zaokrąglenie do następnej najwyższej liczby całkowitej. Jeśli a jest ujemna, operacja zaokrąglania powoduje odrzucenie jakiegokolwiek składnika ułamkowego a . Operacja tej metody różni się od Floor(Double) metody, która obsługuje zaokrąglanie w kierunku ujemnej nieskończoności.

Począwszy od Visual Basic 15.8, wydajność konwersji podwójnej do liczby całkowitej jest zoptymalizowana w przypadku przekazania wartości zwróconej przez metodę Ceiling do dowolnej z funkcji konwersji integral konwersji, lub jeśli wartość Podwójna zwracana przez Ceiling jest automatycznie konwertowana na liczbę całkowitą z wartością Option Strict ustawioną na wartość Wyłączone. Ta optymalizacja umożliwia szybsze uruchamianie kodu — nawet dwa razy szybciej w przypadku kodu, który wykonuje dużą liczbę konwersji na typy całkowite. Poniższy przykład ilustruje takie zoptymalizowane konwersje:

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

Zobacz też

Dotyczy