向上舍入到第一个小数点

时间:2016-05-20 03:52:12

标签: python python-3.x

我希望将数字四舍五入到第一个小数位

>>> round(1.2345, 2)
1.3
>>> round(1.261, 2)
1.3

到目前为止我知道一个解决方案

>>> math.ceil(1.2345 * 10) / 10
1.3

还有其他办法吗?

1 个答案:

答案 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')