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)
}
//给Number类型增加一个mul方法,调用起来更加方便。
Number.prototype.mul = function (arg){
return accMul(arg, this);
}
function floatBeDividedBy(a, b) {
let c, d, e = 0,
f = 0;
try {
e = a.toString().split(".")[1].length;
} catch (g) {
}
try {
f = b.toString().split(".")[1].length;
} catch (g) {
}
return c = Number(a.toString().replace(".", "")), d = Number(b.toString().replace(".", "")), accMul(c / d, Math.pow(10, f - e));
}
floatBeDividedBy(211.81,1000)
解决js 两个数相除精度丢失问题,如211.81/1000 = 0.211810000003
最新推荐文章于 2024-04-30 16:57:21 发布