← Все вопросы

Как округлить деньги/цену вверх до целых рублей?

Задан 28 месяцев назад110 просмотров1 ответ
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 или целочисленное деление //.

Ваш ответ

, чтобы ответить на вопрос.