Rounding of .5 not rounding upwards

Rounding of .5 not rounding upwards - Rounding of .5 not rounding upwards - Сообщения

#1 Опубликовано: 10.03.2021 20:27:07
bugreportaccount

bugreportaccount

0 сообщений из 4 понравились пользователям.

Группа: 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 Опубликовано: 10.03.2021 20:46:04
overlord

overlord

552 сообщений из 1332 понравились пользователям.

Группа: 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 Опубликовано: 10.03.2021 21:44:42
overlord

overlord

552 сообщений из 1332 понравились пользователям.

Группа: 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 Опубликовано: 11.03.2021 03:09:08
bugreportaccount

bugreportaccount

0 сообщений из 4 понравились пользователям.

Группа: User

I see, that does make sense now, appreciate the responses, especially the solution from overlord
#5 Опубликовано: 11.03.2021 09:01:00
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

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


round.PNG


  • Новые сообщения Новые сообщения
  • Нет новых сообщений Нет новых сообщений