6
由於某些原因,小數對象在乘以時會失去精度。沒有理由發生。請檢查測試用例並啓發我。python十進制精度
from decimal import *
getcontext().prec = 11
a = Decimal('5085.28725881485')
b = 1
print getcontext()
print 'a = '+str(a)
print 'b = '+str(b)
print 'a * b = '+str(a * b)
和輸出:如果
Context(prec=11, rounding=ROUND_HALF_EVEN, Emin=-999999999, Emax=999999999, capitals=1, flags=[], traps=[DivisionByZero, InvalidOperation, Overflow])
a = 5085.28725881485
b = 1
a * b = 5085.2872588
不知道這是相關的,但使用python2.6的。
您將精度設置爲11,結果中有11位有效數字。問題是什麼? –
點後不精確的平均數字? – marrat
有沒有什麼辦法可以將精度限制在點數之後呢? – marrat