>>> 0.1+0.2
0.30000000000000004
>>>
>>> 0.1+0.2 == 0.3
False
>>> round(0.1+0.2,1) == 0.3
True
>>>
這個問題叫做 不確定尾數問題
不是隻在python中存在 在很多程式語言中都存在
它涉及到了計算機對數位運算的內部實現原理
浮點數間運算存在不確定尾數,不是Bug
在計算機中所有數位都是由2進製表示
嚴格來說 53位二進制表示數位部分
由於二進制和十進制不存在嚴格的對等方式
所以0.1用二進制表示是一個無限小數
計算機只能擷取其中的53位 無限接近0.1
計算機只會顯示16位元
round(x,d):對x進行四捨五入 d是小數擷取位數