jsの小数点加算精度処理例について説明する.

536 ワード

 
  
zf = accAdd(zf, parseFloat("12.11"));
// ,
// :javascript , 。 。
// :accAdd(arg1,arg2)
// :arg1 arg2
function 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;
}