# ROUND(expression [,numdecimalplaces])

Returns a number rounded to a given number of decimal places (Double).

 expression The expression to round. numdecimalplaces (Optional) The number of decimal places to round to (Long).

 REMARKS
 * This function will either round up or down depending on the last digits.* This function can be used to round a floating-point or fixed-point decimal to a specified number of places.* "numdecimalplaces" must be greater than or equal 0.* If "numdecimalplaces" is left blank, then 0 is used.* If "numdecimalplaces" is left blank, then an Integer is returned.* If "numdecimalplaces" < 0, then you will get a run-time error 5.* Exactly what this function rounds to when the digit is a 5 is not very predictable (add examples below).* You can use the INT function to return the number rounded down to the nearest integer.* The equivalent .NET function is System.Math.Round* For the Microsoft documentation refer to docs.microsoft.com

`Debug.Print Round(123.456, 0)   '= 123  Debug.Print Round(123.456, 1)   '= 123.5  Debug.Print Round(123.456, 2)   '= 123.46  Debug.Print Round(123.456, 3)   '= 123.456  Debug.Print Round(56.78, 0)     '= 57  Debug.Print Round(56.78, 1)     '= 56.8  Debug.Print Round(56.78, 2)     '= 56.78  Debug.Print Round(56.78, 3)     '= 56.78  Dim dbValue As Double dbValue = 0.9 Debug.Print Round(dbValue)      '= 1  dbValue = 0.9 Debug.Print Round(dbValue, 1)   '= 0.9  dbValue = 0.149 Debug.Print Round(dbValue, 2)   '= 0.15  dbValue = 0.169 Debug.Print Round(dbValue, 2)   '= 0.17  `

© 2022 Better Solutions Limited