VBA-Funktion Round

Rundet einen numerischen Wert auf eine angegebene Anzahl von Dezimalstellen.

warning

Diese Konstante, diese Funktion oder dieses Objekt wird durch Platzierung der Anweisung Option VBASupport 1 vor dem auszufĂĽhrenden Programmcode des Moduls aktiviert.


Diese Funktion implementiert die Rundungsregel, die als „Auf-gerade-runden“ bekannt ist. Mit dieser Regel wird immer dann, wenn die Differenz zwischen der zu rundenden Zahl und ihrer nächsten ganzen Zahl gleich 0,5 ist, die Zahl auf die nächste gerade Zahl gerundet. Sehen Sie sich die Beispiele unten an, um mehr über diese Regel zu erfahren.

note

Be aware that VBA's Round function works differently than LibreOffice Calc's Round function. In Calc, if the difference between the number to be rounded and the nearest integer is exactly 0.5, then the number is rounded up. Hence, in Calc the number 2.5 is rounded to 3 whereas using VBA's Round function the value 2.5 is rounded to 2 due to the "round-to-even" rule.


Syntax:

Round(expression [,numdecimalplaces])

RĂĽckgabewert:

Double

Parameter:

expression: Der zu rundende numerische Ausdruck.

numdecimalplaces: Optionales Argument, das die Anzahl der Dezimalstellen im resultierenden gerundeten Wert angibt. Der Standardwert ist 0.

Fehlercodes:

5 UngĂĽltiger Prozeduraufruf

Beispiel:


    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
  

Die folgenden Beispiele veranschaulichen die Regel „Auf-gerade-runden“:


    ' Rundung auf die nächste ganze Zahl (Nachkommastellen = 0)
    MsgBox Round(3.5) ' 4
    MsgBox Round(4.5) ' 4
    MsgBox Round(5.5) ' 6
    MsgBox Round(6.5) ' 6
    ' Rundung mit 2 Nachkommastellen (Nachkommastellen = 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