Math.Ceiling Metoda

Definicja

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

Przeciążenia

Ceiling(Decimal)

Zwraca najmniejszą wartość całkowitą, która jest większa lub równa określonej liczbie dziesiętnej.

Ceiling(Double)

Zwraca najmniejszą wartość całkowitą, która jest większa lub równa określonej liczbie zmiennoprzecinkowej o podwójnej precyzji.

Uwagi

Zachowanie tej metody jest zgodne ze standardem IEEE 754, sekcja 4. Tego rodzaju zaokrąglenie jest czasami nazywane zaokrąglaniem kierunku plus nieskończoność.

Ceiling(Decimal)

Źródło:
Math.cs
Źródło:
Math.cs
Źródło:
Math.cs

Zwraca najmniejszą wartość całkowitą, która jest większa lub równa 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 typ 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 754, sekcja 4. Tego rodzaju zaokrąglenie jest czasami nazywane zaokrąglaniem kierunku plus nieskończoność. 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 nieskończoności ujemnej.

Zobacz też

Dotyczy

Ceiling(Double)

Źródło:
Math.cs
Źródło:
Math.cs
Źródło:
Math.cs

Zwraca najmniejszą wartość całkowitą, która jest większa lub równa 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 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 typ 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 754, sekcja 4. Tego rodzaju zaokrąglenie jest czasami nazywane zaokrąglaniem kierunku plus nieskończoność. 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 nieskończoności ujemnej.

Począwszy od programu Visual Basic 15.8, wydajność konwersji podwójnej do liczby całkowitej jest zoptymalizowana, jeśli wartość zwracana przez Ceiling metodę do dowolnej funkcji konwersji całkowitej lub jeśli wartość podwójna zwracana przez Ceiling jest automatycznie konwertowana na liczbę całkowitą z opcją Ściśle 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