如何从表单结果中删除isNaN?

时间:2011-12-29 06:05:01

标签: jquery calculator nan

我正在创建一个小计算器。部分内容允许您输入最多4个数字,但您也可以只输入1,2或3个数字。我有代码工作,除了当我只输入1,2或3个数字时,我得到的NaN结果是我没有输入的数字。

如何摆脱NaN的结果?

用于分割输入表单数据的jQuery是 -

    var numbers = num4.split(" ");
    var firstNumber = parseInt(margins[0], 10),
        secondNumber = parseInt(margins[1], 10),
        thirdNumber = parseInt(margins[2], 10),
        fourthNumber = parseInt(margins[3], 10);
    console.log(firstNumber, secondNumber, thirdNumber, fourthNumber);

    var shorthand1 = parseInt (firstNumber, 10) * 1;
    var shorthand2 = parseInt (secondNumber, 10) * 1;
    var shorthand3 = parseInt (thirdNumber, 10) *1;
    var shorthand4 = parseInt (fourthNumber, 10) *1;

我只是

shorthand1 + shorthand2 + shorthand3 + shorthand4 

结果显示在页面上的div中。

问题是,如果我输入“10 10 10”而不输入第四个号码,我会得到

的结果
10 10 10 NaN

我可以检查NaN并且不会处理该结果吗?

3 个答案:

答案 0 :(得分:3)

您可以使用Javascript isNaN(value)函数检查某个值是否为NaN。

答案 1 :(得分:2)

您可以在js。

中查看 isNaN()

请注意,isNaN()函数仅检查值的“数字性质”,而不检查值是否为有限值。要检查数字是否有限,您应该使用JavaScript的isFinite()。

答案 2 :(得分:1)

isNaN()函数确定某个值是否为非法数字(非数字)。

如果值为NaN,则此函数返回true,否则返回false。

<script type="text/javascript">
document.write(isNaN(123)+ "<br />");
document.write(isNaN("Hello")+ "<br />");
document.write(isNaN(NaN)+ "<br />");
</script> 

输出:

真正
真正
对于您的情况,您可以检查如下:

<html>
<body>
<script type="text/javascript">
if(!isNaN(123)){
document.write(isNaN(123)+ "<br />");
}
if(isNaN("Hello")){
document.write(isNaN("Hello")+ "<br />");
}
</script>
</body>
</html>