python округление



Округление в python

Автор LaFleurNike задал вопрос в разделе Python

Округление в Питон и получил лучший ответ

Ответ от Kelavric kelavric[гуру]
Выяснилась интересная особенность. В python 2.7 число x.5 округляется до x+1:
>>> print round(0.5), round(1.5)
1.0 2.0
В python 3.3 поведение этой функции изменилось:
>>> print ( round(0.5), round(1.5) )
0 2
то есть, bankers rounding, x.5 к ближайшей четной цифре y.0, да ещё и меняется тип на целый.
вот тут набросал некий корявый костыль, эмулирующий версию 2.7:

Ответ от Капитан Гугл[гуру]
Да, round округляет к ближайшему четному, а не целому, это т. н. банковское округление.
"Школьное" округление (0.5 вверх) - это int(x+0.5). Для положительных. Но -0.5 тогда становится 0 (ведь 0>-1). Если есть желание - можешь порасписывать для отрицательных.

Ответ от Azgard[мастер]
math.floor(x) Округляет число вниз, при этом floor(1.5) == 1, floor(-1.5) == -2
math.ceil(x) Округляет число вверх, при этом ceil(1.5) == 2, ceil(-1.5) == -1

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Округление в Питон
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*