美文网首页
Float精度 在JS的解决方法 对于价格计算挺管用的。

Float精度 在JS的解决方法 对于价格计算挺管用的。

作者: sun_wenming | 来源:发表于2017-12-23 11:48 被阅读0次

    计算展示:


    结果展示

    加减法代码

    //加法函数,用来得到精确的加法结果
    // 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
    //调用:accAdd(arg1,arg2)
    //返回值:arg1加上arg2的精确结果
       async accAdd(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
       }
    //减法的代码:
       async 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));
         //last modify by deeka
         //动态控制精度长度
         n=(r1>=r2)?r1:r2;
         return ((arg1*m-arg2*m)/m).toFixed(n);
       }
    

    更多的 参考 下方原文

    原文地址:http://blog.sina.com.cn/s/blog_53edf7c10100wlcw.html

    相关文章

      网友评论

          本文标题:Float精度 在JS的解决方法 对于价格计算挺管用的。

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