求助,大家来帮忙啊,eval函数的问题...
比如现在有个var test='1-2=3';
var realary=new Array(3);
realary[0]=Number(383198.11);
realary[1]=Number(43504.28);
realary[2]=Number(339693.83);
我的程序根据变量test='1-2=3';
我执行的操作就是判断realary[0]-realary[1]是不是等于realary[2];
我的程序是这样写的:
return ( eval( test.replace("=","==").replace(/(\d+)/g,"realary[$1-1]") ) );
现在有些数字验证没有问题,有些有问题,
比如上面的值去运算就是false
我通过这个语句:alert('算出值:'+eval('realary[0]-realary[1]')+'检验的值:'+realary[2]);
eval('realary[0]-realary[1]'),发现算出来的值是:339693.82.9999995,
而实际值应该是:339693.83
请教高手怎么解决这个问题!当然把eval('realary[0]-realary[1]')小数2位后面的四舍五入是一个方法,有没有更好的方法?