Python float - str - float 的奇怪现象
>>> float(str(0.65000000000000002))
0.65000000000000002
>>> float(str(0.47000000000000003))
0.46999999999999997 ???
这里发生了什么呢?我该如何把 0.47000000000000003
转换成字符串,然后再把这个字符串转换回浮点数呢?
我在Windows上使用的是Python 2.5.4。
4 个回答
3
浮点数(float)和双精度浮点数(double)并不是完全精确的。当你对它们进行运算时,难免会出现一些舍入误差。