Какая функция нужна для округления в большую сторону в Python?
4 года назад
Andrey Moshkov
Ответы
Для округления числа в большую сторону необходимо воспользоваться функцией ceil() из модуля math. Функция принимает число с плавающей точкой и округляет его в большую сторону до целой части (функция возвращает целое число):
4 года назад
Владимир Устянивский
Округление в большую сторону делает функция math.ceil(). Она возвращает ближайшее целое число, которое больше или равно аргументу:
Результат — целое число типа int. Для отрицательных чисел «в большую сторону» означает ближе к нулю: −2 больше, чем −2.1.
Функции округления
round(2.5) возвращает 2: при ровно половине Python округляет к ближайшему чётному числу. round(3.5) вернёт 4.
Округлить вверх без math
Целочисленное деление с округлением вверх часто пишут так:
Формула (a + b - 1) // b даёт a / b, округлённое вверх, для положительных целых чисел. Работает быстро и без погрешности float. Другая запись того же: -(-a // b).
Округлить вверх до двух знаков
math.ceil округляет только до целого. Для знаков после запятой умножают и делят:
У этого способа есть ловушка: дробные числа хранятся неточно.
Для денег используйте Decimal:
Число передают в Decimal строкой: Decimal("1.1"), иначе погрешность float попадёт внутрь.
Массив чисел
Числа, деление и модуль math разбирают в бесплатном курсе «Основы Python».
18 дней назад
Никита Вихров






