js计算加减乘除的时候,经常会遇到小数点后是.99999的问题,所以通过math库封装一个方法来代替js运算
第一步:安装math
cnpm install mathjs
第二步:封装math方法
let $math = require('mathjs');
export let math = {
add() {
return comp('add', arguments);
},
subtract() {
return comp('subtract', arguments);
},
multiply() {
return comp('multiply', arguments);
},
divide() {
return comp('divide', arguments);
}
};
function comp(_func, args) {
let t = $math.chain($math.bignumber(args[0]));
for (let i = 1; i < args.length; i++) {
t = t[_func]($math.bignumber(args[i]));
}
// 防止超过6位使用科学计数法
return parseFloat(t.done());
};
第三步:使用mathjs计算
// 引入方法
import { math } from '@/utils/math.js';
// 计算应回款总金额
sumPayment () {
let sum = null;
this.applyData.newMilestone.forEach(item => {
sum = math.add(sum, item.backToArticle)
})
return sum ? math.divide(Math.floor(math.multiply(sum, 100)), 100) : null;
},