[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'

 

你可能感兴趣的:(JavaScript)