在开发中,我们会遇到一些不可避免的数字运算,一位小数的,N位小数的,0.1 + 0.2 都不等于0.3,就别说3.1415926 * 3.1415926了。这些精度问题给我们带来了很多困扰。NPM是个好东西,有很多大佬造的轮子(工具),然后我们搬来装在自己的车上,不需要自己薅光头发的去制造。这篇就简单介绍三个插件的用法。
decimal.js的特点就是处理整数和浮点数,还处理十六进制、二进制和八进制值。
1、安装和引用
JavaScript
// NodeJS
npm install -save decimal.js
const Decimal = require("decimal.js");
// ES6 module
// import Decimal from "decimal.js";
import {Decimal} from "decimal.js";
2、基本的加减乘除
JavaScript
const a = 9.99;
const b = 8.03;
// 加法
let c = new Decimal(a).add(new Decimal(b)).toNumber();
// 减法
let d = new Decimal(a).sub(new Decimal(b)).toNumber();
// 乘法
let e = new Decimal(a).mul(new Decimal(b)).toNumber();
// 除法
let f = new Decimal(a).div(new Decimal(b)).toNumber();
decimal.js
GitHub:https://github.com/MikeMcl/decimal.js
API:http://mikemcl.github.io/decimal.js/
Used by: 6500 +
PS:推荐使用 bignumber.js (https://blog.mbku.net/view-2024.html)
未经允许不得转载:小罗同学 » JS高精度计算库decimal.js