Math.Ceiling Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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