我希望将一个数字四舍五入到小数点后一位
>>> round(1.2345, 2)
1.3
>>> round(1.261, 2)
1.3
我目前知道一个解决方案。
>>> math.ceil(1.2345 * 10) / 10
1.3
有其他方法吗?
我希望将一个数字四舍五入到小数点后一位
>>> round(1.2345, 2)
1.3
>>> round(1.261, 2)
1.3
>>> math.ceil(1.2345 * 10) / 10
1.3
decimal.ROUND_UP
和 .quantize()
来将一个小数舍入到指定的位数:>>> from decimal import Decimal, ROUND_UP
>>> Decimal(1.2345).quantize(Decimal(".1"), rounding=ROUND_UP)
Decimal('1.3')
您可以调整第一个参数(精度)来指定所需的数字位数:
>>> Decimal(1.2375).quantize(Decimal(".001"), rounding=ROUND_UP)
Decimal('1.238')
print('%.2f' % 1.3)
- Ozgur VatanseverDecimal
类型的数值添加额外的零,以表达精度:Decimal('1.3') * Decimal('1.0')
- jfs
round(1.2345, 2)
时,返回的结果是1.23
。而当你运用round(1.261, 2)
时,则会得到1.26
的结果。或许你希望有一个新的函数round_up(1.2345, 1)
,它可以产生接近的1.3
结果。 - jfs