亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

全部開發者教程

JavaScript 入門教程

浮點數精度問題

有關浮點數的精度是一個老生常談的問題了。

面試題中這個知識點出現的頻率非常高:

0.1 + 0.2 === 0.3 // false

其中可以參閱 數字 章節。

這個問題很少會有面試官進一步的進行考察,如 “怎樣讓計算結果正確”,最常見的解決方案有兩個:

  1. 計算過程中將數字轉成整數計算
  2. 使用第三方庫

第一個方案很好理解,將 0.1 與 0.2 擴大 10 倍,相加后再相除就得到了正確的結果:

((0.1 * 10) + (0.2 * 10)) / 10 === 0.3 // true

如果存在兩位小數,則同時放大 100倍,計算后再縮小 100倍 就可以了。

第二個方案可以有很多選擇,這里列出了幾個常用的第三方庫: