Math.Floor Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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