美文网首页
解决小数计算时的误差

解决小数计算时的误差

作者: 八妹sss | 来源:发表于2019-12-27 14:35 被阅读0次

例:0.1 + 0.2 不等于0.3

  0.1+0.2=0.30000000000000004
解决的中心思想是:把小数转成整数后再运算
    /**
     * 精确加法
     */
    add (num1, num2) {
      const num1Digits = (num1.toString().split('.')[1] || '').length
      const num2Digits = (num2.toString().split('.')[1] || '').length
      const baseNum = Math.pow(10, Math.max(num1Digits, num2Digits))
      return (num1 * baseNum + num2 * baseNum) / baseNum
    }

相关文章

网友评论

      本文标题:解决小数计算时的误差

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