javascript小数计算误差问题

  • 0.1+0.2 == 0.3 //false
    原来0.1+0.2变成:0.30000000000000004

//自定义加法运算
functionaddNum (num1, num2) {
    varsq1,sq2,m;
    try{
        sq1 = num1.toString().split(".")[1].length;
    }
    catch(e) {
        sq1 = 0;
    }
    try{
        sq2 = num2.toString().split(".")[1].length;
    }
    catch(e) {
        sq2 = 0;
    }
    m = Math.pow(10,Math.max(sq1, sq2));
    return(num1 * m + num2 * m) / m;
}
alert(addNum(0.1, 0.2));
原文地址:https://www.cnblogs.com/AlanWinFun/p/5333766.html