Math.Floor Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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