math.js可以解决前端金额类计算精度问题

安装math.js

npm install mathjs

math.js配置

新建math.js文件内容如下

const $math = require('mathjs')
export const 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())
}

建议存放在utils文件夹下

引入math.js

import { math } from '@/utils/math.js'

math.js使用
math.add(a+b)//加
math.subtract(a-b)//减
math.multiply(a*b)//乘
math.divide(a/b)//除

如需其他计算方法可点击标题math.js进入官网查看语法并添加到math.js文件中

Logo

前往低代码交流专区

更多推荐