前言
在python中进行小数计算时,很容易发生精度错误问题!!!!一定要注意!!!
或者说,只要进行小数的运算都要用decimal。如:银企对账;工程计算等等
在python有叫decimal的第三方库。在java中叫BigDecimal。万万不可混肴,学
术是要严谨的,实事求是的。
下面演示一下错误的小数计算和使用decimal进行正确计算的代码。
错误示范
a = 0
for i in range(100000):
a = a + 1.33
print("不准确",a)
使用decimal的正确示范
from decimal import Decimal, getcontext
print(getcontext().prec) # 计算精度,默认是28
getcontext().prec = 100 # 可修改
a = Decimal("0")
for i in range(100000):
a = a + Decimal("1.33")
print("准确", a)
注意
一定要注意,使用字符串的小数当作参数