我计算了以下内容:
>>> float(10.0-9.2)
0.800000000000000*7*
即使做10.0-9.2也给出了上述结果。为什么额外的7会出现在结果中?
我在python 3.2上。
答案 0 :(得分:14)
答案 1 :(得分:0)
这是所有平台上典型的二进制浮点运算。如果您的应用程序不能容忍在此误差范围内的舍入错误,则可以改为使用Decimal个对象。
答案 2 :(得分:0)
您可以使用round()
例如:
print(round(10 - 9.2, 2))