Javascript Float + Float = String?

时间:2015-10-06 09:41:26

标签: javascript jquery nan

当我运行它时,它返回<key> <string>fullhistoryinfilehistory</string> </key> <value> <string>true</string> </value> 。如果我没有parseFloat,我会添加2个字符串。我错过了什么?我会说我的结果应该总是一个浮点数?

NaN

1 个答案:

答案 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;
}