解决前端大整数计算精度丢失

65 阅读1分钟

做前端开发经常会遇到比较大的整数计算精度丢失的问题

image.png

记录一下日常写的小工具,废话不多说,上代码

<script>
    function bigNumberReduce(num1,num2){
      let len = Math.max(num1.length,num2.length);
      var num1 = num1.padStart(len,'0');
      var num2 = num2.padStart(len,'0');
      let result = ''
      let carry = 0
      let j = 0
      for(var i=len-1;i>=0;i--){
        carry = parseInt(num1[i]) + parseInt(num2[i])
        if(carry >= 10){
          result =carry%10 + j + result
          j = 1
        }else{
          result = carry+j + result
          j = 0
        }
      }
      return result
    }
    console.log(bigNumberReduce('123','107')) 
  </script>