用python进行四舍五入

时间:2012-07-25 03:45:34

标签: python django rounding

我已阅读以下页面:

python decimals - rounding to nearest whole dollar (no cents) - with 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的{​​{1}}循环。

2 个答案:

答案 0 :(得分:5)

你不能使用math.ceil吗?如果你使用浮动分区,它将做必要的事情。目前你正在进行整数除法。

答案 1 :(得分:3)

total是一个整数。因此,/正在进行整数除法。除以10.(并希望精确限制不会在***中咬你),或者在Decimal中使用适当的上下文进行数学运算。