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

Fate attenzione 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!