美文网首页
解决小数加减乘除精度丢失

解决小数加减乘除精度丢失

作者: 候鸟与暖风 | 来源:发表于2019-06-04 11:17 被阅读0次

    加法

    function add(arg1,arg2) {

          var r1, r2, m;

          try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }

          try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }

          m = Math.pow(10, Math.max(r1, r2))

          return (arg1 * m + arg2 * m) / m

        },

    乘法

      function accMul(arg1,arg2)

      { 

      varm=0,s1=arg1.toString(),s2=arg2.toString(); 

      try{m+=s1.split(".")[1].length}catch(e){} 

      try{m+=s2.split(".")[1].length}catch(e){} 

      returnNumber(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)  } 

    减法

    function Subtr(arg1,arg2){

        var r1,r2,m,n; 

        try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} 

        try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} 

        m=Math.pow(10,Math.max(r1,r2)); 

        n=(r1>=r2)?r1:r2; 

        return((arg1*m-arg2*m)/m).toFixed(n); 

    }

    相关文章

      网友评论

          本文标题:解决小数加减乘除精度丢失

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