在python中使用浮點數運算可能會出現如下問題
a = 0.1+0.2
print(a)
輸出的結果是
0.30000000000000004
原因如下:
出現上面的情況,主要還是因浮點數在計算機中實際是以二進制保存的,有些數不精確。
比如說: 0.1是十進制,轉化為二進制后它是個無限循環的數:
0.00011001100110011001100110011001100110011001100110011001100
而python是以雙精度(64)位來保存浮點數,多余的位會被截掉,所以看到的是0.1,但在電腦上實際保存的已不是精確的0.1,參與運算后,也就有可能點誤差。