05-04-2025, 04:03 PM
Note that after some testing, _ROUND also behaves exactly the same as CINT and CLNG. It's simply for a larger range of areas.
value < 0.5 rounds down.
value = 0.5 rounds to the nearest even integer.
value > 0.5 rounds up.
Its wiki page needs a complete update and overhaul as well to indicate this behavior properly as it simply says:
And, as you can see from the above, that statement only holds true when dealing with 0.5 values directly. All others round up or down to the nearest integer, even if that's an odd number.
value < 0.5 rounds down.
value = 0.5 rounds to the nearest even integer.
value > 0.5 rounds up.
Code: (Select All)
For x = -10.5 To 10.5
Print x - .01; _Round(x - .01),
Print x; _Round(x),
Print x + .01; _Round(x + .01)
Next
Its wiki page needs a complete update and overhaul as well to indicate this behavior properly as it simply says:
Quote:Rounding is done to the closest even integer value.
And, as you can see from the above, that statement only holds true when dealing with 0.5 values directly. All others round up or down to the nearest integer, even if that's an odd number.