0
我想限制我的float的精度,并将其用作下一个操作的精确值,但我在做十进制模块时出错。Python十进制精度和四舍五入
from decimal import *
factor = 350/float(255)
# Settings
getcontext().prec = 1
getcontext().rounding = ROUND_UP
print Decimal(factor)
Python的输出: 1.372549019607843145962533526471816003322601318359375
预期和希望的结果:1.4
使用'np.round'。 – Julien
简单地创建一个'Decimal'对象不会绕到当前上下文。为此,有一个诀窍:你可以应用一元加号,如'+十进制(因子)'。话虽如此,这仍然不会达到你想要的:'prec'指的是有效位数的总数,而不是指向该点后的位置数。所以在这种情况下,你需要'prec = 2'。 –
您可能还想查看'Decimal.quantize'方法。 –