Rounding of .5 not rounding upwards

Rounding of .5 not rounding upwards - Rounding of .5 not rounding upwards - Messages

#1 Posted: 4 years ago
bugreportaccount

bugreportaccount

0 likes in 4 posts.

Group: User

With rounding selected as half to even, the rounding doesn't round .5 up to 1.

For example, with decimal places set to 0:
2.50000 = 2
2.50001 = 3

This doesn't seem in line with the expectation that .5 rounds upwards and leaves some of my calculations looking misrepresentative on inspection. Same with the round function, which leaves something like 2.5 becoming 2, not 3.

Or is this intentional?

Thanks,
#2 Posted: 4 years ago
overlord

overlord

558 likes in 1,335 posts.

Group: Moderator

This is intentional.
Please pay attention to description.
Half to even, it is rounding to even number.
Even numbers are 2,4,6,8...
Odd numbers are 1,3,5,7...

If decimal part of number is even then it round downward to its base.
If decimal part of number is odd, it round upwards.
If you want always round to up when fraction is equal or bigger than .5;
You have to use away from zero rounding option.

https://en.wikipedia.org/wiki/Rounding#Round_half_to_even

Regards

2021-03-11_02-39.png
#3 Posted: 4 years ago
overlord

overlord

558 likes in 1,335 posts.

Group: Moderator

Wrote

Same with the round function, which leaves something like 2.5 becoming 2, not 3.


round() function when used with two parameters always do rounding with half to even.
If you want away from zero option in round() function, add third parameter and make it 1.

Regards.

2021-03-11_03-44.png
#4 Posted: 4 years ago
bugreportaccount

bugreportaccount

0 likes in 4 posts.

Group: User

I see, that does make sense now, appreciate the responses, especially the solution from overlord
#5 Posted: 4 years ago
Jean Giraud

Jean Giraud

983 likes in 6,866 posts.

Group: User

Wrote

Same with the round function, which leaves something like 2.5 becoming 2, not 3.


round.PNG


  • New Posts New Posts
  • No New Posts No New Posts