0.1+0.2 爲什麼不等於0.3

在 JavaScript 中,0.1 和 0.2 都是小數,它們實際的二進制表示時可能是無限循環或者近似值的。而當兩個近似值的小數進行數值計算時,由於數值的精度只有 53 位,會產生舍入誤差,從而導致計算結果不準確。

例如,在 JavaScript 中執行 0.1 + 0.2 的運算,可能得到的結果是 0.30000000000000004,而不是 0.3。這是由於 Number 類型的數據在 JavaScript 中使用 IEEE-754 標準的雙精度浮點數進行存儲和計算,在處理小數時可能發生舍入誤差,造成結果不準確。

爲了避免這種情況,解決方案可以使用 toFixed() 方法對結果進行精度格式化,例如:

const result = (0.1 + 0.2).toFixed(2); // 0.30

該方法將結果保留兩位小數並返回一個字符串類型的結果,可以解決精度問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章