在下面的代码中我想说IF data.transferMoney
大于results[0].money
然后返回false ELSE返回true,但它不会返回正确的结果
if (Number(results[0].money) < Number(data.transferMoney))
return false;
else
return true;
或此代码:
if (parseInt(results[0].money) < parseInt(data.transferMoney))
return false;
else
return true;
results[0].money
和data.transferMoney
是字符串
results[0].money
是180476,data.transferMoney
是12
答案 0 :(得分:0)
您的数据不好。以下代码段符合您的要求并按预期工作。我还添加了一个isNaN检查,以满足您可能希望在自己的代码中查看的错误数据要求。
var results = [{money: '180476'}];
var data = {transferMoney: '12'};
if(isNaN(results[0].money) || isNaN(data.transferMoney))
alert('bad data');
if (Number(results[0].money) < Number(data.transferMoney))
alert('false');
else
alert('true');
答案 1 :(得分:0)
好吧,你不应该从你自己的服务器回复解析数字。这就是你在做什么。当你处理钱时,不要解析。
如果从服务器返回看起来很糟糕怎么办?'10000000 $很多,你没有这笔款项!'
让我们看看
parseInt('10000000$ is way to much, you dont have that sum on account!')
//1000000
我建议直接将用户输入的数字与服务器号码进行比较。这种情况如果服务器上的某些东西出错了 - 你不会告诉你的用户对他们的帐户撒谎:)