js解决小数相减会出现的浮点问题

numSub(arg1,arg2) {  // 第一个数为被减数  第二个为减数

if(isNaN(arg1)) {

arg1=0;

        }

if(isNaN(arg2)) {

arg2=0;

        }

arg1=Number(arg1);

arg2=Number(arg2);

varr1,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);

    }

你可能感兴趣的:(js解决小数相减会出现的浮点问题)