js精度问题解决方案 - decimal.js
使用缘由
- js有精度问题, 对于一些金额的计算就总是与偶莫名其妙的问题
- decimal.js是使用的二进制来计算的, 所以能解决js的精度问题
decimal.js介绍
- 整数和浮点数 简单但功能齐全的API 复制许多JavaScript
- Number.prototype和Math对象的方法
- 还处理十六进制,二进制和八进制值 比Java的BigDecimal的 JavaScript版本更快,更小,甚至更容易使用 没有依赖
- 广泛的平台兼容性:仅使用JavaScript 1.5(ECMAScript 3)功能 全面的文档和测试集
- 包括一个TypeScript声明文件:decimal.d.ts
decimal.js使用
1、安装依赖
npm install --save decimal.js
2、引入
import { Decimal } from 'decimal.js'
3、使用
const a = 2.998;
const b = 8.035;
// 加法
let c = new Decimal(a).add(new Decimal(b))
// 减法
let d = new Decimal(a).sub(new Decimal(b))
// 乘法
let e = new Decimal(a).mul(new Decimal(b))
// 除法
let f = new Decimal(a).div(new Decimal(b))