javascript加法运算精度不准确的解决办法

使用Javascript做小数(浮点数)加法运算时,小数位数不精确(举例:2.01+90.01=92.02000000000001)。可以使用下面的函数解决此问题:

//加法函数,用来得到精确的加法结果
//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
//调用:FloatAdd(arg1,arg2)
//返回值:arg1加上arg2的精确结果
function FloatAdd(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
}

原文地址:https://www.cnblogs.com/andy65007/p/1266384.html