天天看點

js的安全乘法、除法

//說明:javascript的乘法結果會有誤差,在兩個浮點數相乘的時候會比較明顯。這個函數傳回較為精确的乘法結果。

function accMul(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);

}

繼續閱讀