我在做一个小计算器。其中一部分将允许您输入最多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而不处理结果吗?
发布于 2011-12-29 14:06:53
您可以使用Javascript isNaN(value)函数检查某个值是否为NaN。
发布于 2011-12-29 14:06:57
您可以在js中检查isNaN()。
注意,isNaN()函数只检查一个值的“数值性质”,而不是它的值是否有限。要检查一个数字是否有限,应该改用JavaScript的isFinite()。
发布于 2011-12-29 14:12:11
(Not-a-Number).函数用于确定值是否为非法的数字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>https://stackoverflow.com/questions/8664546
复制相似问题