js数学计算出现精度

之前在做商品计算折扣问题的时候,发现简单的数学乘除法会出现精度的问题,比如本来算出来应该是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
}

在需要的地方里引入该文件即可使用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。