Compartir a través de


Math.Floor Método

Definición

Devuelve el valor entero más grande menor o igual que el número especificado.

Sobrecargas

Floor(Decimal)

Devuelve el valor entero más grande menor o igual que el número decimal especificado.

Floor(Double)

Devuelve el valor entero más grande menor 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 negativo.

Floor(Decimal)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

Devuelve el valor entero más grande 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

Valor entero mayor 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 método Math.Floor(Decimal) y se contrasta con el método Ceiling(Decimal).

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 fraccionario. Si d es negativo, la presencia de cualquier componente fraccionario hace que se redondee al entero más pequeño. La operación de este método difiere del método Ceiling, que admite el redondeo hacia el infinito positivo.

Consulte también

Se aplica a

Floor(Double)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

Devuelve el valor entero más grande 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

Valor entero mayor menor o igual que d. Si d es igual a NaN, NegativeInfinityo PositiveInfinity, se devuelve ese valor.

Ejemplos

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

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 fraccionario. Si d es negativo, la presencia de cualquier componente fraccionario hace que se redondee al entero más pequeño. La operación de este método difiere del método Ceiling, que admite el redondeo hacia el 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 método Floor a cualquiera de las funciones de conversión integral de , o si el valor Double devuelto por Floor se convierte automáticamente en un entero con Option Strict establecido en Desactivado. Esta optimización permite que el código se ejecute más rápido, hasta dos veces más rápido para el 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