知識儲備

  1. Js的有7中內置類型,又分爲6種基本類型和1個Object類型。6種基本類型是string、number、boolean、symbol、null、undefined。number類型是浮點類型,沒有整型。浮點類型是基於IEEE754標準實現。NaN屬於number,NaN不等於NaN。
  2. 0.1 + 0.2 = 0.30000000000000004 問題,參考連接:https://github.com/camsong/bl...

浮點數的存儲規則:git

clipboard.png
clipboard.png
clipboard.png

  • 符號位S:第 1 位是正負數符號位(sign),0表明正數,1表明負數
  • 指數位E:中間的 11 位存儲指數(exponent - 1023),用來表示次方數
  • 尾數位M:最後的 52 位是尾數(mantissa),超出的部分自動進一舍零

展現精度問題的數據時:github

function strip(num, precision = 12) {
  return +parseFloat(num.toPrecision(precision));
}
  • toPrecision 是處理精度,精度是從左至右第一個不爲0的數開始數起。
  • toFixed 是小數點後指定位數取整,從小數點開始數起。

解決精度問題:
http://mathjs.org/
https://github.com/nefe/numbe...
解決大數問題:
https://github.com/MikeMcl/bi...spa

相關文章
相關標籤/搜索