python中的浮点给出了错误的答案

Roh*_*han 5 python python-3.x

我计算了以下内容:

>>> float(10.0-9.2)
0.800000000000000*7*
Run Code Online (Sandbox Code Playgroud)

即使做10.0-9.2也给出了上述结果.为什么额外的7会出现在结果中?

我在python 3.2上.

Gar*_*tty 14

浮点运算具有内置问题,因为它基于数字的二进制近似.

Python文档中对此一个很好的解释.

如果您需要更准确的答案,可以查看decimal模块.