Как правильно округлять половинные числа с плавающей запятой?Python

Программы на Python
Ответить
Anonymous
 Как правильно округлять половинные числа с плавающей запятой?

Сообщение Anonymous »

Я столкнулся со странным поведением функции round():

Код: Выделить всё

for i in range(1, 15, 2):
n = i / 2
print(n, "=>", round(n))
Этот код выводит:

Код: Выделить всё

0.5 => 0
1.5 => 2
2.5 => 2
3.5 => 4
4.5 => 4
5.5 => 6
6.5 => 6
Я ожидал, что плавающие значения всегда будут округляться в большую сторону, но вместо этого они округляются до ближайшего четного числа.

Почему такое поведение и как лучше всего получить правильный результат?

Я пробовал использовать дроби, но результат тот же .

Подробнее здесь: https://stackoverflow.com/questions/330 ... at-numbers
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»