Math.Floor Método

Definición

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

Sobrecargas

Floor(Double)

Devuelve el mayor valor integral menor o igual que el número de punto flotante de precisión doble especificado.

Floor(Decimal)

Devuelve el mayor valor integral menor o igual que el número decimal 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 negativo.

Floor(Double)

Devuelve el mayor valor integral menor o igual que el número de punto flotante de precisión doble especificado.

public:
 static double Floor(double d);
public static double Floor (double d);
static member Floor : double -> double
Public Shared Function Floor (d As Double) As Double

Parámetros

d
Double

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

Devoluciones

Double

El mayor valor integral que es menor o igual que d. Si d es igual que NaN, NegativeInfinity o PositiveInfinity, se devuelve ese valor.

Ejemplos

En el ejemplo siguiente se muestra el Math.Floor(Double) método y se contrasta con el Ceiling(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 negativo. En otras palabras, si d es positivo, se trunca cualquier componente fraccionado. Si d es negativo, la presencia de cualquier componente fraccional hace que se redondee al entero más pequeño. La operación de este método difiere del Ceiling método , que admite el redondeo hacia infinito positivo.

A partir de Visual Basic 15.8, el rendimiento de la conversión doble a entero se optimiza si pasa el valor devuelto por el Floor método a cualquiera de las funciones de conversión integral, o si el valor Double devuelto por Floor 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.Floor(d1))        ' Result: 1043

Dim d2 As Double = 7968.4136
Dim i2 As Integer = CInt(Math.Floor(d2))        ' Result: 7968

Consulte también

Se aplica a

Floor(Decimal)

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

public:
 static System::Decimal Floor(System::Decimal d);
public static decimal Floor (decimal d);
static member Floor : decimal -> decimal
Public Shared Function Floor (d As Decimal) As Decimal

Parámetros

d
Decimal

Número decimal.

Devoluciones

Decimal

El mayor valor integral que es menor o igual que d. Tenga en cuenta que el método devuelve un valor entero de tipo Decimal.

Ejemplos

En el ejemplo siguiente se muestra el Math.Floor(Decimal) método y se contrasta con el Ceiling(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 negativo. En otras palabras, si d es positivo, se trunca cualquier componente fraccionado. Si d es negativo, la presencia de cualquier componente fraccional hace que se redondee al entero más pequeño. La operación de este método difiere del Ceiling método , que admite el redondeo hacia infinito positivo.

Consulte también

Se aplica a