Funzione Round [VBA]

Arrotonda un valore numerico al numero di cifre decimali specificato.

warning

Questa costante, funzione od oggetto viene abilitata con l'istruzione Option VBASupport 1 posizionata prima del codice eseguibile del programma all'interno del modulo.


Questa funzione implementa la regola di "arrotondamento del banchiere" (al numero pari). In base a questa regola, se la differenza tra il numero da arrotondare e il numero intero più vicino è uguale a 0,5, il numero viene arrotondato al numero pari più vicino. Vedete gli esempi sottostanti per saperne di più in merito a questa regola.

note

Notare che la funzione Round di VBA lavora diversamente rispetto alla funzione Round (ARROTONDA) di LibreOffice Calc. In Calc, se la differenza tra il numero da arrotondare e il numero intero più vicino è esattamente 0,5, il numero viene arrotondato per eccesso. Perciò, in Calc il numero 2,5 viene arrotondato a 3 mentre usando la funzione Round di VBA il valore 2,5 viene arrotondato a 2 a causa della regola di "arrotondamento del banchiere" (al numero pari).


Sintassi:

Round(expression [,numdecimalplaces])

Valore restituito:

Double

Parametri:

expression: l'espressione numerica da arrotondare.

numdecimalplaces: argomento facoltativo che specifica il numero di cifre decimali del valore arrotondato risultante. Il valore predefinito è 0.

Codici di errore:

5 Richiamo di procedura non valido

Esempio:


    Option VBASupport 1
    Sub Example_Round
        Dim r 
        r = Pi
        print r ' 3,14159265358979
        print Round(r, 5) ' 3,14159
        r = exp(1)
        print r ' 2,71828182845904
        print Round(r) ' 3
    End Sub
  

L'esempio seguente illustra la regola di "arrotondamento del banchiere" (al numero pari):


    ' Arrotondamento al numero intero più vicino (decimalplaces = 0)
    MsgBox Round(3.5) ' 4
    MsgBox Round(4.5) ' 4
    MsgBox Round(5.5) ' 6
    MsgBox Round(6.5) ' 6
    ' Arrotondamento con 2 cifre decimali (decimalplaces = 2)
    MsgBox Round(1.555, 2) ' 1.56
    MsgBox Round(1.565, 2) ' 1.56
    MsgBox Round(1.575, 2) ' 1.58
    MsgBox Round(1.585, 2) ' 1.58
  

Sosteneteci!