在小浮点数乘法中失去精度

时间:2017-10-01 02:49:39

标签: python-3.x

hours = "40"
hourrate = "$45.07 "

我写了代码:

salary = float(hours)*float(hourrate[1:-1])*52.0

为什么终端上的结果是93745.59999999999? (我在python中处理.csv文件)

1 个答案:

答案 0 :(得分:0)

IEEE

浮点不精确。 0.1 + 0.2 != 0.3。如果您需要精确度,请考虑使用符号数学,如sympy模块。