1. 程式人生 > >[Math.js]通過Math.js彌補JavaScript運算精度問題

[Math.js]通過Math.js彌補JavaScript運算精度問題

①首先介紹JavaScript運算精度丟失的背景

    計算機通過二進位制來儲存並處理數字,不能精確表示浮點數,但是JavaScript沒有封裝的類來處理浮點數,直接計算會使浮點數丟失計算精度。

    例子一:

    0.1=0.0001 1001 1001 1001 1001 1001 1001 1010(1001迴圈下去)

    0.2=0.0011  0011  0011 0011 0011 0011 0011  0011(0011迴圈下去)

    0.1和0.2相加的結果用二進位制計算出來是0.0100 1100 1100 1100 1100 1100 1100 1101(轉換成十進位制為0.30000000004)

    例子二:

    ToFixed函式不能進行四捨五入

    1.335.toFixed(2); ---返回的結果是1.33

②使用Math.js彌補JavaScript運算精度的問題

    通過npm安裝math.js

npm install mathjs

    在competent.ts中引用

// load math.js
import * as math from 'mathjs'