Is there a reason Access rounds Round(19.5,0) and Round(20.5,0) both to 20? Shouldnt the first return 20 and the second return 21?
Asked
Active
Viewed 185 times
2 Answers
4
Access uses Bankers Rounding (AKA Round Half to Even).
See: http://allenbrowne.com/round.html
When the last significant digit is a 5, it rounds to the nearest even number. So, 0.125 rounds to 0.12 (2 is even), whereas 0.135 rounds to 0.14 (4 is even.)

Mike
- 3,641
- 3
- 29
- 39
1
The Round function utilizes round-to-even logic. If the expression that you are rounding ends with a 5, the Round function will round the expression so that the last digit is an even number. For example:
Round (12.55, 1)
Result: 12.6 (rounds up)
Round (12.65, 1)
Result: 12.6 (rounds down)
Round (12.75, 1)
Result: 12.8 (rounds up)
In these cases, the last digit after rounding is always an even number. So, be sure to only use the Round function if this is your desired result.
See http://www.techonthenet.com/access/functions/numeric/round.php

Travis Hohl
- 2,176
- 2
- 14
- 15