Math.Floor Método

Definição

Retorna o maior valor integral menor ou igual ao número especificado.Returns the largest integral value less than or equal to the specified number.

Sobrecargas

Floor(Double)

Retorna o maior valor integral menor ou igual ao número de ponto flutuante de precisão dupla especificado.Returns the largest integral value less than or equal to the specified double-precision floating-point number.

Floor(Decimal)

Retorna o maior valor integral menor ou igual ao número decimal especificado.Returns the largest integral value less than or equal to the specified decimal number.

Exemplos

Observação

Os exemplos de C# neste artigo são executados no executador de código embutido Try.NET e no playground.The C# examples in this article run in the Try.NET inline code runner and playground. Clique no botão Executar para executar um exemplo em uma janela interativa.Select the Run button to run an example in an interactive window. Ao executar o código, é possível modificá-lo e executar o código modificado clicando em Executar novamente.Once you execute the code, you can modify it and run the modified code by selecting Run again. O código modificado será executado na janela interativa ou, se a compilação falhar, a janela interativa exibirá todos as mensagens de erro do compilador C#.The modified code either runs in the interactive window or, if compilation fails, the interactive window displays all C# compiler error messages.

Comentários

O comportamento deste método segue o padrão IEEE 754, seção 4.The behavior of this method follows IEEE Standard 754, section 4. Este tipo de arredondamento às vezes é chamado de arredondamento para negativo infinito.This kind of rounding is sometimes called rounding toward negative infinity.

Floor(Double)

Retorna o maior valor integral menor ou igual ao número de ponto flutuante de precisão dupla especificado.Returns the largest integral value less than or equal to the specified double-precision floating-point number.

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.A double-precision floating-point number.

Retornos

O maior valor integral menor ou igual a d.The largest integral value less than or equal to d. Se d for igual a NaN, NegativeInfinity ou PositiveInfinity, esse valor será retornado.If d is equal to NaN, NegativeInfinity, or PositiveInfinity, that value is returned.

Exemplos

O exemplo a seguir ilustra Math.Floor(Double) o método e o contrasta com o Ceiling(Double) método.The following example illustrates the Math.Floor(Double) method and contrasts it with the Ceiling(Double) method.

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
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 deste método segue o padrão IEEE 754, seção 4.The behavior of this method follows IEEE Standard 754, section 4. Este tipo de arredondamento às vezes é chamado de arredondamento para negativo infinito.This kind of rounding is sometimes called rounding toward negative infinity. Em outras palavras, se d for positivo, qualquer componente fracionário será truncado.In other words, if d is positive, any fractional component is truncated. Se d for negativo, a presença de qualquer componente fracionário fará com que ele seja arredondado para o número inteiro menor.If d is negative, the presence of any fractional component causes it to be rounded to the smaller integer. A operação desse método difere do método, Ceiling que dá suporte ao arredondamento em direção ao infinito positivo.The operation of this method differs from the Ceiling method, which supports rounding toward positive infinity.

A partir do Visual Basic 15,8, o desempenho da conversão de duplo para inteiro será otimizado se você passar o valor retornado pelo Floor método para qualquer uma das funções de conversão integralou se o valor Double retornado por Floor é automaticamente convertido em um inteiro com Option Strict definida como off.Starting with Visual Basic 15.8, the performance of Double-to-integer conversion is optimized if you pass the value returned by the Floor method to the any of the integral conversion functions, or if the Double value returned by Floor is automatically converted to an integer with Option Strict set to Off. 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 de inteiro.This optimization allows code to run faster -- up to twice as fast for code that does a large number of conversions to integer types. O exemplo a seguir ilustra essas conversões otimizadas:The following example illustrates such optimized conversions:

Dim d1 As Double = 1043.75133
Dim i1 As Integer = CInt(Math.Ceiling(d1))        ' Result: 1043

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

Veja também

Floor(Decimal)

Retorna o maior valor integral menor ou igual ao número decimal especificado.Returns the largest integral value less than or equal to the specified decimal number.

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.A decimal number.

Retornos

O maior valor integral menor ou igual a d.The largest integral value less than or equal to d. Observe que o método retorna um valor integral do tipo Decimal.Note that the method returns an integral value of type Decimal.

Exemplos

O exemplo a seguir ilustra Math.Floor(Decimal) o método e o contrasta com o Ceiling(Decimal) método.The following example illustrates the Math.Floor(Decimal) method and contrasts it with the Ceiling(Decimal) method.

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
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 deste método segue o padrão IEEE 754, seção 4.The behavior of this method follows IEEE Standard 754, section 4. Este tipo de arredondamento às vezes é chamado de arredondamento para negativo infinito.This kind of rounding is sometimes called rounding toward negative infinity. Em outras palavras, se d for positivo, qualquer componente fracionário será truncado.In other words, if d is positive, any fractional component is truncated. Se d for negativo, a presença de qualquer componente fracionário fará com que ele seja arredondado para o número inteiro menor.If d is negative, the presence of any fractional component causes it to be rounded to the smaller integer. A operação desse método difere do método, Ceiling que dá suporte ao arredondamento em direção ao infinito positivo.The operation of this method differs from the Ceiling method, which supports rounding toward positive infinity.

Veja também

Aplica-se a