zoukankan      html  css  js  c++  java
  • js 浮点数计算

    0.1 + 0.2 == 0.3 ?

    01 + 0.2 = 0.30000000000000004

    1、四舍五入 (0.1+0.2).toFixed(1) = 0.3 , 对于计算金额这种严谨的问题,不推荐使用

    2、(0.1 * 10  + 0.2 * 10)/ 10 =  0.3

    //加法   
    
        Number.prototype.add = function(arg){   
            var r1,r2,m;   
            try{r1=this.toString().split(".")[1].length}catch(e){r1=0}   
            try{r2=arg.toString().split(".")[1].length}catch(e){r2=0}   
            m=Math.pow(10,Math.max(r1,r2))   
            return (this*m+arg*m)/m   
        }  
    
        //减法 
       Number.prototype.sub = function (arg){   
          return this.add(-arg);   
       }   
    
     
    
    //乘法 
    Number.prototype.mul = function (arg)   {   
        var m=0,s1=this.toString(),s2=arg.toString();   
        try{m+=s1.split(".")[1].length}catch(e){}   
        try{m+=s2.split(".")[1].length}catch(e){}   
        return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)   
    }   
    
     
    
    //除法
    Number.prototype.div = function (arg){   
        var t1=0,t2=0,r1,r2;   
        try{t1=this.toString().split(".")[1].length}catch(e){}   
        try{t2=arg.toString().split(".")[1].length}catch(e){}   
        with(Math){   
            r1=Number(this.toString().replace(".",""))   
            r2=Number(arg.toString().replace(".",""))   
            return (r1/r2)*pow(10,t2-t1);   
        }   
    }
    

      

  • 相关阅读:
    Unix domain sockets
    python异常处理
    php注册登录源代码
    div,css命名规范!
    html、css和js注释的规范用法
    PHPstrom的Disable Power Save Mode
    开通了博客园
    O(1)时间删除链表中的节点 13
    打印1到最大的n位数 12
    自己实现一个数的整数次方 11
  • 原文地址:https://www.cnblogs.com/daji/p/9582697.html
Copyright © 2011-2022 走看看