Math.Ceiling Método

Definición

Devuelve el menor valor integral mayor o igual que el número especificado.

Sobrecargas

Ceiling(Decimal)

Devuelve el valor integral más pequeño que es mayor o igual que el número decimal especificado.

Ceiling(Double)

Devuelve el valor integral más pequeño que es mayor o igual que el número de punto flotante de precisión doble especificado.

Comentarios

El comportamiento de este método sigue el estándar IEEE 754, sección 4. Este tipo de redondeo a veces se denomina redondeo hacia infinito positivo.

Ceiling(Decimal)

Devuelve el valor integral más pequeño que es mayor o igual que el número decimal especificado.

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

Parámetros

d
Decimal

Número decimal.

Devoluciones

Decimal

Valor entero más pequeño que es mayor o igual que d. Tenga en cuenta que este método devuelve un valor Decimal en lugar de un tipo entero.

Ejemplos

En el ejemplo siguiente se muestra el Math.Ceiling(Decimal) método y se contrasta con el Floor(Decimal) método .

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

Comentarios

El comportamiento de este método sigue el estándar IEEE 754, sección 4. Este tipo de redondeo a veces se denomina redondeo hacia infinito positivo. En otras palabras, si d es positivo, la presencia de cualquier componente fraccional hace d que se redondee al siguiente entero más alto. Si d es negativo, la operación de redondeo hace que se descarte cualquier componente fraccionado de d . La operación de este método difiere del Floor(Decimal) método , que admite el redondeo hacia infinito negativo.

Consulte también

Se aplica a

Ceiling(Double)

Devuelve el valor integral más pequeño que es mayor o igual que el número de punto flotante de precisión doble especificado.

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

Parámetros

a
Double

Número de punto flotante de precisión doble.

Devoluciones

Double

Valor entero más pequeño que es mayor o igual que a. Si a es igual que NaN, NegativeInfinity o PositiveInfinity, se devuelve ese valor. Tenga en cuenta que este método devuelve un valor Double en lugar de un tipo entero.

Ejemplos

En el ejemplo siguiente se muestra el Math.Ceiling(Double) método y se contrasta con el Floor(Double) método .

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

Comentarios

El comportamiento de este método sigue el estándar IEEE 754, sección 4. Este tipo de redondeo a veces se denomina redondeo hacia infinito positivo. En otras palabras, si a es positivo, la presencia de cualquier componente fraccional hace a que se redondee al siguiente entero más alto. Si a es negativo, la operación de redondeo hace que se descarte cualquier componente fraccionado de a . La operación de este método difiere del Floor(Double) método , que admite el redondeo hacia infinito negativo.

A partir de Visual Basic 15.8, el rendimiento de la conversión double-to-integer se optimiza si pasa el valor devuelto por el Ceiling método a cualquiera de las funciones de conversión integral, o si el valor Double devuelto por Ceiling se convierte automáticamente en un entero con Option Strict establecido en Off. Esta optimización permite que el código se ejecute más rápido, hasta el doble de rápido para código que realiza un gran número de conversiones a tipos enteros. En el ejemplo siguiente se muestran estas conversiones optimizadas:

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

Consulte también

Se aplica a