用big.js解决JavaScript计算精度问题
JavaScript在金融等场景做小数计算的时候需要注意,计算的结果是不准确的。有许多库可以解决这种计算精度问题,这里介绍big.js
安装:
npm install big.js
测试代码:
const Big = require('big.js');
let c = 0.3;
let d = 0.1;
let amountc = new Big(0.3);
let amountd = new Big(0.1);
console.log(c-d);
console.log(amountc.minus(amountd).toString());
运行: node .\bignumber.js
0.19999999999999998
0.2
可见,JavaScript里计算0.3-0.1得到的是0.19999999999999998,而使用Big(0.3).minus(new Big(0.1))可以得到正确答案0.2