Contenuto

# Funzione Round [VBA]

Arrotonda un valore numerico al numero di cifre decimali specificato.

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.

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

Argomenti correlati

Funzione ARROTONDA di Calc

Funzioni matematiche VBA