Math.Ceiling Metodo

Definizione

Restituisce il valore integrale minimo maggiore o uguale al numero specificato.

Overload

Ceiling(Decimal)

Restituisce il valore integrale minimo maggiore o uguale al numero decimale specificato.

Ceiling(Double)

Restituisce il valore integrale minimo maggiore del o uguale al numero a virgola mobile e con precisione doppia specificato.

Commenti

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

Ceiling(Decimal)

Restituisce il valore integrale minimo maggiore o uguale al numero decimale specificato.

public:
 static System::Decimal Ceiling(System::Decimal d);
public static decimal Ceiling (decimal d);
static member Ceiling : decimal -> decimal
Public Shared Function Ceiling (d As Decimal) As Decimal

Parametri

d
Decimal

Numero decimale.

Restituisce

Valore intero minimo maggiore o uguale a d. Si noti che questo metodo restituisce Decimal anziché un tipo integrale.

Esempio

L'esempio seguente illustra il Math.Ceiling(Decimal) metodo e lo contrasta con il Floor(Decimal) metodo .

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 viene talvolta chiamato arrotondamento verso l'infinito positivo. In altre parole, se d è positivo, la presenza di qualsiasi componente frazionaria causa d l'arrotondamento al numero intero più alto successivo. Se d è negativo, l'operazione di arrotondamento causa l'eliminazione di qualsiasi componente frazionaria di d . L'operazione di questo metodo è diversa dal Floor(Decimal) metodo , che supporta l'arrotondamento verso l'infinito negativo.

Vedi anche

Si applica a

Ceiling(Double)

Restituisce il valore integrale minimo maggiore del o uguale al numero a virgola mobile e con precisione doppia specificato.

public:
 static double Ceiling(double a);
public static double Ceiling (double a);
static member Ceiling : double -> double
Public Shared Function Ceiling (a As Double) As Double

Parametri

a
Double

Numero a virgola mobile a precisione doppia.

Restituisce

Valore intero minimo maggiore o uguale a a. Se a è uguale a NaN, NegativeInfinity o PositiveInfinity, verrà restituito tale valore. Si noti che questo metodo restituisce Double anziché un tipo integrale.

Esempio

L'esempio seguente illustra il Math.Ceiling(Double) metodo e lo contrasta con il Floor(Double) metodo .

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 viene talvolta chiamato arrotondamento verso l'infinito positivo. In altre parole, se a è positivo, la presenza di qualsiasi componente frazionaria causa a l'arrotondamento al numero intero più alto successivo. Se a è negativo, l'operazione di arrotondamento causa l'eliminazione di qualsiasi componente frazionaria di a . L'operazione di questo metodo è diversa dal Floor(Double) metodo , che supporta l'arrotondamento verso l'infinito negativo.

A partire da Visual Basic 15.8, le prestazioni della conversione da double a integer vengono ottimizzate se si passa il valore restituito dal Ceiling metodo a una delle funzioni di conversione integrale oppure se il valore Double restituito da Ceiling viene convertito automaticamente in un intero con Option Strict impostato su 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. L'esempio seguente illustra tali conversioni ottimizzate:

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

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

Vedi anche

Si applica a