Python как округлять?
Подскажите, раунд пробовал, формат тоже, скольк знаков окру глять чтобы копейки не, сумма котор с процентами.
Ваш вопрос
Подскажите, раунд пробовал, формат тоже, скольк знаков окру глять чтобы копейки не, сумма котор с процентами.
round() округляет по банковскому правилу округления до четного, поэтому round(0.5) даст 0, а не 1, как учили в школе, и это не баг, а особенность математического округления к четному, которую питон унаследовал стандартно, а для денег такое округление вообще плохая идея, потому что бинарное представление float не может точно хранить многие десятичные дроби, из-за чего 2.675 хранится как чуть меньше настоящего значения и округляется вниз, поэтому для денег правильный путь — модуль decimal с классом Decimal, который считает точно, или округление до целых копеек умножением на сто перед округлением и делением обратно.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Лучший ответ
4o
4o
Python как округлять?
Округляйте функцией round(число, 2), но учтите: из-за особенностей дробей round(2.675, 2) может дать 2.67 вместо 2.68, это нормальное поведение чисел с плавающей точкой.