Math.Ceiling Metoda

Definicja

Zwraca najmniejszą wartość całkowitą większą lub równą podanej liczbie.Returns the smallest integral value greater than or equal to the specified number.

Przeciążenia

Ceiling(Decimal)

Zwraca najmniejszą wartość całkowitą, która jest większa lub równa określonej liczbie dziesiętnej.Returns the smallest integral value that is greater than or equal to the specified decimal number.

Ceiling(Double)

Zwraca najmniejszą wartość całkowitą, która jest większa lub równa określonej liczbie zmiennoprzecinkowej podwójnej precyzji.Returns the smallest integral value that is greater than or equal to the specified double-precision floating-point number.

Uwagi

Zachowanie tej metody jest zgodne ze standardem IEEE 754, sekcja 4.The behavior of this method follows IEEE Standard 754, section 4. Tego rodzaju zaokrąglenie jest czasami nazywane zaokrąglaniem kierunku plus nieskończoność.This kind of rounding is sometimes called rounding toward positive infinity.

Ceiling(Decimal)

Zwraca najmniejszą wartość całkowitą, która jest większa lub równa określonej liczbie dziesiętnej.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

Parametry

d
Decimal

Liczba dziesiętna.A decimal number.

Zwraca

Najmniejsza wartość całkowita, która jest większa lub równa d.The smallest integral value that is greater than or equal to d. Należy zauważyć, że ta metoda zwraca Decimal zamiast typu całkowitego.Note that this method returns a Decimal instead of an integral type.

Przykłady

Poniższy przykład ilustruje metodę Math.Ceiling(Decimal) i kontrastuje ją z metodą 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

Uwagi

Zachowanie tej metody jest zgodne ze standardem IEEE 754, sekcja 4.The behavior of this method follows IEEE Standard 754, section 4. Tego rodzaju zaokrąglenie jest czasami nazywane zaokrąglaniem kierunku plus nieskończoność.This kind of rounding is sometimes called rounding toward positive infinity. Innymi słowy, jeśli d jest dodatnia, obecność dowolnego składnika ułamkowego powoduje, że d zaokrąglać do następnej najwyższej wartości całkowitej.In other words, if d is positive, the presence of any fractional component causes d to be rounded to the next highest integer. Jeśli d jest ujemna, operacja zaokrąglania powoduje odrzucanie dowolnego części ułamka d.If d is negative, the rounding operation causes any fractional component of d to be discarded. Operacja tej metody różni się od metody Floor(Decimal), która obsługuje zaokrąglenie w kierunku nieskończoności ujemnej.The operation of this method differs from the Floor(Decimal) method, which supports rounding toward negative infinity.

Zobacz też

Ceiling(Double)

Zwraca najmniejszą wartość całkowitą, która jest większa lub równa określonej liczbie zmiennoprzecinkowej podwójnej precyzji.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

Parametry

a
Double

Liczba zmiennoprzecinkowa podwójnej precyzji.A double-precision floating-point number.

Zwraca

Najmniejsza wartość całkowita, która jest większa lub równa a.The smallest integral value that is greater than or equal to a. Jeśli a jest równa NaN, NegativeInfinitylub PositiveInfinity, zwracana jest wartość.If a is equal to NaN, NegativeInfinity, or PositiveInfinity, that value is returned. Należy zauważyć, że ta metoda zwraca Double zamiast typu całkowitego.Note that this method returns a Double instead of an integral type.

Przykłady

Poniższy przykład ilustruje metodę Math.Ceiling(Double) i kontrastuje ją z metodą 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

Uwagi

Zachowanie tej metody jest zgodne ze standardem IEEE 754, sekcja 4.The behavior of this method follows IEEE Standard 754, section 4. Tego rodzaju zaokrąglenie jest czasami nazywane zaokrąglaniem kierunku plus nieskończoność.This kind of rounding is sometimes called rounding toward positive infinity. Innymi słowy, jeśli a jest dodatnia, obecność dowolnego składnika ułamkowego powoduje, że a zaokrąglać do następnej najwyższej wartości całkowitej.In other words, if a is positive, the presence of any fractional component causes a to be rounded to the next highest integer. Jeśli a jest ujemna, operacja zaokrąglania powoduje odrzucanie dowolnego części ułamka a.If a is negative, the rounding operation causes any fractional component of a to be discarded. Operacja tej metody różni się od metody Floor(Double), która obsługuje zaokrąglenie w kierunku nieskończoności ujemnej.The operation of this method differs from the Floor(Double) method, which supports rounding toward negative infinity.

Począwszy od Visual Basic 15,8, wydajność konwersji podwójnej do liczby całkowitej jest zoptymalizowana, jeśli przekazujesz wartość zwróconą przez metodę Ceiling do którejkolwiek funkcji konwersjicałkowitej lub jeśli wartość podwójnej zwrócone przez Ceiling jest automatycznie konwertowana na liczbę całkowitą z opcją Strict ustawiona na 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. Ta optymalizacja umożliwia szybsze uruchamianie kodu — maksymalnie dwa razy w przypadku kodu, który wykonuje dużą liczbę konwersji na typy całkowite.This optimization allows code to run faster -- up to twice as fast for code that does a large number of conversions to integer types. Poniższy przykład ilustruje takie zoptymalizowane konwersje: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

Zobacz też

Dotyczy