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'方法。 –