← Все вопросы
Как округлить деньги/цену вверх до целых рублей?
4
Считаю стоимость, получается 149.2 рубля, а надо округлить вверх, чтобы не было недоплаты — то есть до 150. round округляет к ближайшему, а мне всегда вверх. Как быть?
1 ответ
8
✓ Принятый ответ — помог автору
Округление всегда вверх — это math.ceil:
import math
price = 149.2
print(math.ceil(price)) # 150
print(math.ceil(149.0)) # 149 (ровное не меняется)
В отличие от round, ему неважно, ближе число к 149 или к 150 — он всегда поднимает до следующего целого, если есть хоть какая-то дробная часть.
Если наоборот нужно «отбросить копейки вниз» (например, сколько целых товаров можно купить), бери math.floor или целочисленное деление //.
Ваш ответ
, чтобы ответить на вопрос.