美文网首页
VUE-解决计算精度问题

VUE-解决计算精度问题

作者: 你这个锤子 | 来源:发表于2022-11-03 17:59 被阅读0次
    安装依赖

    npm install mathjs --save
    全局挂载 main.js
    import math from 'mathjs'
    Vue.prototype.$math= mathjs

    math.add( ) // 加
    math.subtract( ) //减
    math.divide( ) // 除
    math.multiply( ) // 乘
    math.sqrt(4) // 开方
    math.bignumber() // 大数字 BigNumber进行计算要比使用Number进行计算慢得多,但可以任意精度执行。通过使用较高的精度,不太可能发生舍入错误。
    math.format()  // 防止输出中出现舍入错误
    
    实例
    • 加法
    console.log(0.1 + 0.2) // 0.30000000000000004
    // 使用math.js之后
    const a= math.format(
      math.add(
        math.bignumber(0.1),math.bignumber(0.2)
      )
    )
    console.log(a) // 0.3
    
    • 减法
    console.log(1 - 0.9) // 0.09999999999999998
    // 用math.js之后
    const b= math.format(
      math.subtract(
          math.bignumber(1), math.bignumber(0.9)
      )
    )
    consol(b) // 0.1
    
    • 乘法
    console.log(10 * 1.2 * 0.3) // 3.5999999999999996
    // 用math.js之后
    const c = math.format(
      math.multiply(
          math.bignumber(10), math.bignumber(1.2), math.bignumber(0.3)
      )
    )
    console.log(c) // 3.6
    
    • 除法
    console.log(1.2 / 3) // 0.39999999999999997
    // 用math.js之后
    const d = math.format(
      math.divide(
          math.bignumber(1.2), math.bignumber(3)
      )
    )
    console.log(d) // 0.4
    

    参考文档:
    math.js 中文网 (mathjs.cn)

    相关文章

      网友评论

          本文标题:VUE-解决计算精度问题

          本文链接:https://www.haomeiwen.com/subject/tysetdtx.html