之前在做商品计算折扣问题的时候,发现简单的数学乘除法会出现精度的问题,比如本来算出来应该是0.3的,但结果是0.2999999999999999。
那么接下来就来看看如何解决吧!
在vue里引入mathjs
npm install mathjs
然后封装一下mathjs的加减乘除法,将他们暴露出去就可以直接使用了,新建个Math.js的文件
const math = require('mathjs')
// 加法
function add(a, b) {
return math.format(math.add(math.bignumber(a), math.bignumber(b)))
}
// 减法
function subtract(a, b) {
return math.format(math.subtract(math.bignumber(a), math.bignumber(b)))
}
// 乘法
function multiply(a, b) {
return math.format(math.multiply(math.bignumber(a), math.bignumber(b)))
}
// 除法
function divide(a, b) {
return math.format(math.divide(math.bignumber(a), math.bignumber(b)))
}
module.exports = {
add,
subtract,
multiply,
divide
}
在需要的地方里引入该文件即可使用
网友评论