js計算浮點數,js計算小數誤差解決方案,decimal.js的使用

衆所周知,計算機在計算浮點數的過程中會丟失精度。這在編程語言中都會出現,js也不例外。

0.1+0.2並不等於0.3

這就導致了在某些情況下,如果單純的採用四捨五入toFixed 會出現我們不想要的結果。尤其在計算金額方面,一分都不能出錯。

爲此java中的JDK中提供了BigDecimal類來解決丟失精度的問題。js中也有這樣一個庫,叫做decimal.js。

 

特點:

  • 整數型和浮點型
  • 簡單並且全面的 API
  • 複製了很多 JavaScript 中 Number.prototype(Number 類型屬性) 和Math
  • 能夠處理 十進制 二進制 八進制的值
  • 相比較java 中的 BigDecimal,decimal.js 更加快 、更小、易於使用
  • 無依賴
  • 兼容性好:僅僅使用了 JavaScript 1.5 (ECMAScript 3)的一些功能與特性
  • 全面的文檔和測試用例
  • 包含一個 TypeScript 的聲明文件: decimal.d.ts


你可以在github上找到它:https://github.com/MikeMcl/decimal.js

這樣使用 就可以解決掉丟失精度的問題了

 

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