Ler em inglês

Partilhar via


Math.Floor Método

Definição

Importante

Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.

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

Sobrecargas

Floor(Decimal)

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

Floor(Double)

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

Comentários

O comportamento desse método segue o IEEE Standard 754, seção 4. Esse tipo de arredondamento às vezes é chamado arredondando em direção ao infinito negativo.

Floor(Decimal)

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

Retorna 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.

Retornos

O maior valor integral menor ou igual a d. Observe que o método retorna um valor integral do tipo Decimal.

Exemplos

O exemplo a seguir ilustra o método Math.Floor(Decimal) e o contrasta com o 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

Comentários

O comportamento desse método segue o IEEE Standard 754, seção 4. Esse tipo de arredondamento às vezes é chamado arredondando em direção ao infinito negativo. Em outras palavras, se d for positivo, qualquer componente fracionário será truncado. Se d for negativo, a presença de qualquer componente fracionário fará com que ele seja arredondado para o inteiro menor. A operação desse método difere do método Ceiling, que dá suporte ao arredondamento em direção ao infinito positivo.

Confira também

Aplica-se a

.NET 10 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Floor(Double)

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

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

Retornos

O maior valor integral menor ou igual a d. Se d for igual a NaN, NegativeInfinityou PositiveInfinity, esse valor será retornado.

Exemplos

O exemplo a seguir ilustra o método Math.Floor(Double) e o contrasta com o 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

Comentários

O comportamento desse método segue o IEEE Standard 754, seção 4. Esse tipo de arredondamento às vezes é chamado arredondando em direção ao infinito negativo. Em outras palavras, se d for positivo, qualquer componente fracionário será truncado. Se d for negativo, a presença de qualquer componente fracionário fará com que ele seja arredondado para o inteiro menor. A operação desse método difere do método Ceiling, que dá suporte ao arredondamento em direção ao infinito positivo.

A partir do Visual Basic 15.8, o desempenho da conversão double-to-integer será otimizado se você passar o valor retornado pelo método Floor para qualquer uma das funções de conversão integral ou se o valor Duplo retornado por Floor for convertido automaticamente em um inteiro com opção Strict definida como Desativada. Essa otimização permite que o código seja executado mais rapidamente , até duas vezes mais rápido para código que faz um grande número de conversões em tipos inteiros. O exemplo a seguir 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

Confira também

Aplica-se a

.NET 10 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0