当我运行它时,它返回<key>
<string>fullhistoryinfilehistory</string>
</key>
<value>
<string>true</string>
</value>
。如果我没有parseFloat,我会添加2个字符串。我错过了什么?我会说我的结果应该总是一个浮点数?
NaN
答案 0 :(得分:7)
您未正确验证不是数字。要检查某个号码是否为NaN
,请使用isNaN
功能:
if (!isNaN(parseFloat(number))) { ... }
请注意,NaN === NaN
始终返回false
。
您可以在此处详细了解:Why is NaN === NaN false?
以下是完整的代码:
function calculate(i) {
var result = 0;
$j(".t" + i + " input").each(function () {
var number = $j(this).val();
number = parseFloat(number.replace(",", "."));
if (isNaN(number)) {
return;
}
result += number;
});
console.log(result);
return result;
}