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);
}