我希望将数字四舍五入到第一个小数位
>>> round(1.2345, 2)
1.3
>>> round(1.261, 2)
1.3
到目前为止我知道一个解决方案
>>> math.ceil(1.2345 * 10) / 10
1.3
还有其他办法吗?
答案 0 :(得分:2)
您可以使用decimal.ROUND_UP
和.quantize()
将小数舍入到固定数量的位置:
>>> from decimal import Decimal, ROUND_UP
>>> Decimal(1.2345).quantize(Decimal(".1"), rounding=ROUND_UP)
Decimal('1.3')
您可以使用第一个参数( precision )来指定所需的位数:
>>> Decimal(1.2375).quantize(Decimal(".001"), rounding=ROUND_UP)
Decimal('1.238')