округление с помощью python

Я прочитал следующие страницы:

десятичные числа python – округление до ближайшего целого доллара (без центов) – с ROUND_HALF_UP

http://docs.python.org/library/decimal.html

У меня есть следующий код:

total_num = Decimal(str(total/10)) total_num.quantize(Decimal('1'), rounding=ROUND_UP) 

Но он всегда округляется? Поэтому, если у меня есть 221, я хочу, чтобы она вернулась 23. Сейчас я получаю 22. Есть ли что-то, что я недопонимаю по этому поводу?

[РЕДАКТИРОВАТЬ]

Я изменил его на следующее: total_num = int(math.ceil(float(total)/10))

Мне понадобилось int чтобы продолжить цикл for который имеет range .

2 Solutions collect form web for “округление с помощью python”

Вы не можете использовать math.ceil? Он будет делать все, что угодно, если вы используете плавающее подразделение. В настоящее время вы выполняете целочисленное деление.

total – целое число. Таким образом, / выполняет целочисленное деление. Либо разделите на 10. (и надейтесь, что прецизионные ограничения не укусят вас в ***), или сделайте свою математику в Decimal форме с соответствующим контекстом.

Python - лучший язык программирования в мире.