Math.Floor Metodo

Definizione

Restituisce il valore integrale massimo minore o uguale al numero specificato.Returns the largest integral value less than or equal to the specified number.

Overload

Floor(Double)

Restituisce il valore integrale massimo minore o uguale al numero a virgola mobile a precisione doppia specificato.Returns the largest integral value less than or equal to the specified double-precision floating-point number.

Floor(Decimal)

Restituisce il valore integrale massimo minore o uguale al numero decimale specificato.Returns the largest integral value less than or equal to the specified decimal number.

Esempi

Nota

Gli esempi in C# in questo articolo vengono eseguiti nello strumento di esecuzione e playground per codice inline Try.NET.The C# examples in this article run in the Try.NET inline code runner and playground. Selezionare il pulsante Esegui per eseguire un esempio in una finestra interattiva.Select the Run button to run an example in an interactive window. Dopo aver eseguito il codice, è possibile modificarlo ed eseguire il codice modificato selezionando di nuovo Esegui.Once you execute the code, you can modify it and run the modified code by selecting Run again. Il codice modificato viene eseguito nella finestra interattiva o, se la compilazione non riesce, la finestra interattiva visualizza tutti i messaggi di errore del compilatore C#.The modified code either runs in the interactive window or, if compilation fails, the interactive window displays all C# compiler error messages.

Commenti

Il comportamento di questo metodo segue lo standard IEEE 754, sezione 4.The behavior of this method follows IEEE Standard 754, section 4. Questo tipo di arrotondamento viene talvolta definito arrotondamento verso l'infinito negativo.This kind of rounding is sometimes called rounding toward negative infinity.

Floor(Double)

Restituisce il valore integrale massimo minore o uguale al numero a virgola mobile a precisione doppia specificato.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

Parametri

d
Double

Numero a virgola mobile a precisione doppia.A double-precision floating-point number.

Restituisce

Valore integrale massimo minore o uguale a d.The largest integral value less than or equal to d. Se d è uguale a NaN, NegativeInfinity o PositiveInfinity, verrà restituito tale valore.If d is equal to NaN, NegativeInfinity, or PositiveInfinity, that value is returned.

Esempi

Nell'esempio seguente viene illustrato il Math.Floor(Double) metodo e viene contrastato con il Ceiling(Double) metodo.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

Commenti

Il comportamento di questo metodo segue lo standard IEEE 754, sezione 4.The behavior of this method follows IEEE Standard 754, section 4. Questo tipo di arrotondamento viene talvolta definito arrotondamento verso l'infinito negativo.This kind of rounding is sometimes called rounding toward negative infinity. In altre parole, se d è positivo, qualsiasi componente frazionario viene troncato.In other words, if d is positive, any fractional component is truncated. Se d è negativo, la presenza di qualsiasi componente frazionario ne causa l'arrotondamento al numero intero più piccolo.If d is negative, the presence of any fractional component causes it to be rounded to the smaller integer. Il funzionamento di questo metodo è diverso dal metodo Ceiling , che supporta l'arrotondamento verso l'infinito positivo.The operation of this method differs from the Ceiling method, which supports rounding toward positive infinity.

A partire da Visual Basic 15,8, le prestazioni della conversione da Double a integer sono ottimizzate se si passa il valore restituito dal Floor metodo a qualsiasi funzione di conversione integraleo se il valore Double restituito da Floor viene automaticamente convertito in un integer con Option Strict impostato su 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. Questa ottimizzazione consente un'esecuzione più rapida del codice, fino a due volte più rapida nei casi di esecuzione di un numero elevato di conversioni a tipi Integer.This optimization allows code to run faster -- up to twice as fast for code that does a large number of conversions to integer types. Nell'esempio seguente vengono illustrate le conversioni ottimizzate seguenti: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

Vedi anche

Floor(Decimal)

Restituisce il valore integrale massimo minore o uguale al numero decimale specificato.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

Parametri

d
Decimal

Numero decimale.A decimal number.

Restituisce

Valore integrale massimo minore o uguale a d.The largest integral value less than or equal to d. Si noti che il metodo restituisce un valore intero del tipo Decimal.Note that the method returns an integral value of type Decimal.

Esempi

Nell'esempio seguente viene illustrato il Math.Floor(Decimal) metodo e viene contrastato con il Ceiling(Decimal) metodo.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

Commenti

Il comportamento di questo metodo segue lo standard IEEE 754, sezione 4.The behavior of this method follows IEEE Standard 754, section 4. Questo tipo di arrotondamento viene talvolta definito arrotondamento verso l'infinito negativo.This kind of rounding is sometimes called rounding toward negative infinity. In altre parole, se d è positivo, qualsiasi componente frazionario viene troncato.In other words, if d is positive, any fractional component is truncated. Se d è negativo, la presenza di qualsiasi componente frazionario ne causa l'arrotondamento al numero intero più piccolo.If d is negative, the presence of any fractional component causes it to be rounded to the smaller integer. Il funzionamento di questo metodo è diverso dal metodo Ceiling , che supporta l'arrotondamento verso l'infinito positivo.The operation of this method differs from the Ceiling method, which supports rounding toward positive infinity.

Vedi anche

Si applica a