Funkce Round [VBA]

Zaokrouhlí číselnou hodnotu na daný počet desetinných míst.

warning

Tato konstanta, funkce nebo objekt se povoluje příkazem Option VBASupport 1, který je umístěn v modulu před spustitelným programem.


Tato funkce implementuje pravidlo zaokrouhlování známé jako „zaokrouhlování na sudou“. Podle něj se tehdy, když je rozdíl mezi zaokrouhlovaným číslem a nejbližším celým číslem roven 0,5, číslo se zaokrouhlí na nejbližší sudé číslo. Příklady s tímto pravidlem následují níže.

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.


Syntaxe:

Round(expression [,numdecimalplaces])

Návratová hodnota:

Double

Parametry:

expression: Číselný výraz, který se má zaokrouhlit.

numdecimalplaces: Nepovinný argument, který určuje, na kolik desetinných míst se má číslo zaokrouhlit. Výchozí hodnota je 0.

Chybové kódy:

5 Neplatné volání procedury

Příklad:


    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
  

Následující příklady ilustrují pravidlo „zaokrouhlování na sudou“:


    ' Zaokrouhlování na nejbližší celé číslo (decimalplaces = 0)
    MsgBox Round(3.5) ' 4
    MsgBox Round(4.5) ' 4
    MsgBox Round(5.5) ' 6
    MsgBox Round(6.5) ' 6
    ' Zaokrouhlování na 2 desetinná místa (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