Math.Floor Método

Definição

Devolve o maior valor integral menor ou igual ao número especificado.

Sobrecargas

Name Description
Floor(Decimal)

Devolve o maior valor integral menor ou igual ao número decimal especificado.

Floor(Double)

Devolve o maior valor integral menor ou igual ao número de ponto flutuante de dupla precisão especificado.

Observações

O comportamento deste método segue a Norma IEEE 754, secção 4. Este tipo de arredondamento é por vezes chamado arredondamento em direção ao infinito negativo.

Floor(Decimal)

Origem:
Math.cs
Origem:
Math.cs
Origem:
Math.cs
Origem:
Math.cs
Origem:
Math.cs

Devolve o maior valor integral menor ou igual ao 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

Um número decimal.

Devoluções

O maior valor integral menor ou igual a d. Note-se que o método devolve um valor integral do tipo Decimal.

Exemplos

O exemplo seguinte ilustra o Math.Floor(Decimal) método e contrasta-o com o Ceiling(Decimal) próprio.

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

Observações

O comportamento deste método segue a Norma IEEE 754, secção 4. Este tipo de arredondamento é por vezes chamado arredondamento em direção ao infinito negativo. Por outras palavras, se d for positivo, qualquer componente fracionária é truncado. Se d for negativo, a presença de qualquer componente fracionária faz com que seja arredondado para o número inteiro menor. O funcionamento deste método difere do Ceiling método, que suporta arredondamento em direção ao infinito positivo.

Ver também

Aplica-se a

Floor(Double)

Origem:
Math.cs
Origem:
Math.cs
Origem:
Math.cs
Origem:
Math.cs
Origem:
Math.cs

Devolve o maior valor integral menor ou igual ao número de ponto flutuante de dupla precisão 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

Um número de ponto flutuante de dupla precisão.

Devoluções

O maior valor integral menor ou igual a d. Se d for igual a NaN, NegativeInfinity, ou PositiveInfinity, esse valor é devolvido.

Exemplos

O exemplo seguinte ilustra o Math.Floor(Double) método e contrasta-o com o Ceiling(Double) próprio.

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

Observações

O comportamento deste método segue a Norma IEEE 754, secção 4. Este tipo de arredondamento é por vezes chamado arredondamento em direção ao infinito negativo. Por outras palavras, se d for positivo, qualquer componente fracionária é truncado. Se d for negativo, a presença de qualquer componente fracionária faz com que seja arredondado para o número inteiro menor. O funcionamento deste método difere do Ceiling método, que suporta arredondamento em direção ao infinito positivo.

A partir de Visual Basic 15.8, o desempenho da conversão de Duplo para inteiro é otimizado se passar o valor devolvido pelo método Floor para qualquer uma das funções de conversão integral, ou se o valor Duplo devolvido por Floor for automaticamente convertido num inteiro com Opção Estrito definido para Desligado. Essa otimização permite que o código seja executado mais rapidamente -- até duas vezes mais rápido para o código que faz um grande número de conversões para tipos inteiros. O exemplo seguinte ilustra essas conversões otimizadas:

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

Ver também

Aplica-se a