真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

js高精度加減法失去精度

TP5小程序+公眾號一鍵安裝:下載地址

成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司,提供網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

    window.$h={};
    //加法函數(shù),用來得到精確的加法結(jié)果
    //說明:javascript的加法結(jié)果會有誤差,在兩個浮點數(shù)相加的時候會比較明顯。這個函數(shù)返回較為精確的加法結(jié)果。
    //調(diào)用:_h.Add(arg1,arg2)
    //返回值:arg1加上arg2的精確結(jié)果
    $h.Add = function(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));
        //計算小數(shù)點時會失去精度
        return (arg1*m+arg2*m)/m;
    };
    //乘法函數(shù),用來得到精確的乘法結(jié)果
    //說明:javascript的乘法結(jié)果會有誤差,在兩個浮點數(shù)相乘的時候會比較明顯。這個函數(shù)返回較為精確的乘法結(jié)果。
    //調(diào)用:_h.Mul(arg1,arg2)
    //返回值:arg1乘以arg2的精確結(jié)果
    $h.Mul = function(arg1,arg2) {
        var m=0,s1=arg1.toString(),s2=arg2.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);
    };
//上面的加法函數(shù)計算后還是會失去精度應(yīng)調(diào)整為:
 $h.Add = function(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 ($h.Mul(arg1,m)+$h.Mul(arg2,m))/m;
    };

文章題目:js高精度加減法失去精度
標(biāo)題路徑:http://weahome.cn/article/jcijss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部