Math.Floor Metodo

Definizione

Restituisce il valore integrale più grande minore o uguale al numero specificato.

Overload

Floor(Decimal)

Restituisce il valore integrale più grande minore o uguale al numero decimale specificato.

Floor(Double)

Restituisce il valore integrale più grande minore o uguale al numero a virgola mobile a precisione doppia specificato.

Commenti

Il comportamento di questo metodo segue IEEE Standard 754, sezione 4. Questo tipo di arrotondamento è talvolta chiamato arrotondamento verso l'infinito negativo.

Floor(Decimal)

Origine:
Math.cs
Origine:
Math.cs
Origine:
Math.cs

Restituisce il valore integrale più grande minore o uguale al numero decimale specificato.

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.

Restituisce

Valore integrale più grande minore o uguale a d. Si noti che il metodo restituisce un valore integrale di tipo Decimal.

Esempio

L'esempio seguente illustra il metodo Math.Floor(Decimal) e lo contrasta con il metodo 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

Commenti

Il comportamento di questo metodo segue IEEE Standard 754, sezione 4. Questo tipo di arrotondamento è talvolta chiamato arrotondamento verso l'infinito negativo. In altre parole, se d è positivo, qualsiasi componente frazionaria viene troncato. Se d è negativo, la presenza di qualsiasi componente frazionaria ne comporta l'arrotondamento all'intero più piccolo. L'operazione di questo metodo è diversa dal metodo Ceiling, che supporta l'arrotondamento verso l'infinito positivo.

Vedi anche

Si applica a

Floor(Double)

Origine:
Math.cs
Origine:
Math.cs
Origine:
Math.cs

Restituisce il valore integrale più grande minore o uguale al numero a virgola mobile a precisione doppia specificato.

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 e precisione doppia.

Restituisce

Valore integrale più grande minore o uguale a d. Se d è uguale a NaN, NegativeInfinityo PositiveInfinity, viene restituito tale valore.

Esempio

L'esempio seguente illustra il metodo Math.Floor(Double) e lo contrasta con il metodo 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

Commenti

Il comportamento di questo metodo segue IEEE Standard 754, sezione 4. Questo tipo di arrotondamento è talvolta chiamato arrotondamento verso l'infinito negativo. In altre parole, se d è positivo, qualsiasi componente frazionaria viene troncato. Se d è negativo, la presenza di qualsiasi componente frazionaria ne comporta l'arrotondamento all'intero più piccolo. L'operazione di questo metodo è diversa dal metodo Ceiling, che supporta l'arrotondamento verso l'infinito positivo.

A partire da Visual Basic 15.8, le prestazioni della conversione da double a integer vengono ottimizzate se si passa il valore restituito dal metodo Floor a una delle funzioni di conversione integrale o se il valore Double restituito da Floor viene convertito automaticamente in un intero con Option Strict impostato su Off. Questa ottimizzazione consente l'esecuzione del codice più veloce, fino al doppio del doppio per il codice che esegue un numero elevato di conversioni in tipi integer. L'esempio seguente illustra tali conversioni ottimizzate:

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

Vedi anche

Si applica a