Spis treści

# Funkcja Round [VBA]

Zaokrągla wartość liczbową do określonej liczby cyfr dziesiętnych.

Ta stała, funkcja lub obiekt włączane są przez instrukcję Option VBASupport 1 umieszczoną w module przed programem wykonywalnym.

Ta funkcja implementuje regułę zaokrąglania znaną jako „od zaokrąglenia do parzystości”. Zgodnie z tą zasadą, ilekroć różnica między liczbą do zaokrąglenia a jej najbliższą liczbą całkowitą jest równa 0,5, liczba jest zaokrąglana do najbliższej liczby parzystej. Zobacz przykłady poniżej, aby dowiedzieć się więcej o tej regule.

Należy pamiętać, że funkcja Round języka VBA działa inaczej niż funkcja Round programu LibreOffice Calc. W programie Calc, jeśli różnica między liczbą do zaokrąglenia a najbliższą liczbą całkowitą wynosi dokładnie 0,5, liczba jest zaokrąglana w górę. Dlatego w programie Calc liczba 2,5 jest zaokrąglana do 3, podczas gdy przy użyciu funkcji VBA Round wartość 2,5 jest zaokrąglana do 2 ze względu na zasadę „zaokrąglania do parzystości”.

### Składnia:

Round(expression [,numdecimalplaces])

### Typ zwracany:

Double

### Parametry:

expression: Wyrażenie numeryczne do zaokrąglenia.

numdecimalplaces: Opcjonalny argument określający liczbę cyfr dziesiętnych w wynikowej zaokrąglonej wartości. Wartość domyślna to 0.

### Kody błędów:

5 Nieprawidłowe wywołanie procedury

### Przykład:

        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

Poniższe przykłady ilustrują zasadę „zaokrąglenia do parzystej”:

        ' Zaokrąglanie do najbliższej liczby całkowitej (miejsca po przecinku = 0)
        MsgBox Round(3.5) ' 4
        MsgBox Round(4.5) ' 4
        MsgBox Round(5.5) ' 6
        MsgBox Round(6.5) ' 6
        ' Zaokrąglanie do 2 miejsc po przecinku (miejsca po przecinku = 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

Tematy pokrewne

Funkcja ZAOKR programu Calc

Funkcje matematyczne w VBA

Prosimy o wsparcie!