JS处理数字就是麻烦

来源:互联网 发布:如何在淘宝买到苍蝇水 编辑:程序博客网 时间:2024/06/06 02:38

JS处理数字就是麻烦

1、数字比较需要转换

eval(a) < eval(b)

2、浮点数相加或者相减需要特殊处理,不然就会出现小数点后有.99999999的莫名其妙小数

浮点数相加,例如:

function float_add(arg1, arg2){    var r1, 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));    n = (r1 >= r2) ? r1 : r2;    return ((arg1 * m + arg2 * m) / m).toFixed(n);}
0 0