一、前言
解决0.1+0.2问题
let a = 0.1;
let b = 0.2;
console.log(a + b, '常规结果');
let res = new Decimal(a).add(new Decimal(b)).toNumber();
console.log(res,'使用Decimal结果');
二、引入及使用
Decimal 的引入 与 加减乘除
1、引入
```
npm install --save decimal.js
import Decimal from "decimal.js"
```
2、 加
**
```
let a = 1
let b = 6
// a 与 b 可以是 任何类型,Decimal 内部会自己处理兼容
// 下面两种都可以 可以带 new 也可以不带 new
let res = new Decimal(a).add(new Decimal(b))
let res = Decimal(a).add(Decimal(b))
```
3、 减
**
```
let a = "4"
let b = "8"
// a 与 b 可以是 任何类型,Decimal 内部会自己处理兼容
// 下面两种都可以 可以带 new 也可以不带 new
let res = new Decimal(a).sub(new Decimal(b))
let res = Decimal(a).sub(Decimal(b))
```
4、 乘
**
```
let a = 1
let b = 6
// a 与 b 可以是 任何类型,Decimal 内部会自己处理兼容
// 下面两种都可以 可以带 new 也可以不带 new
let res = new Decimal(a).mul(new Decimal(b))
let res = Decimal(a).mul(Decimal(b))
```
5、 除
```
let a = 1
let b = 6
// a 与 b 可以是 任何类型,Decimal 内部会自己处理兼容
// 下面两种都可以 可以带 new 也可以不带 new
let res = new Decimal(a).div(new Decimal(b))
let res = Decimal(a).div(Decimal(b))
```
6、 注意
```
let res = Decimal(a).div(Decimal(b)).toNumber()
let res = Decimal(a).div(Decimal(b)).toString()
```
7、 关于保存几位小数相关
```
y = new Decimal(987000.000)
y.sd()
y.sd(true)
x = 45.6
x.toPrecision(5)
x = new Decimal(9876.5)
x.toSignificantDigits(6)
```