2011-12-29 16 views
3

私は小さな電卓を作っています。これにより、4つまでの数字を入力することができますが、1,2または3の数字だけでも入力できます。私は1、2、または3の数字だけを入力するときを除いてコードが動作しています。入力していない数字のNaN結果が得られます。フォーム結果からisNaNを取り除く方法を教えてください。

NaNの結果を取り除くにはどうすればよいですか?

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; 

と私はページ上のdivに表示された結果として

shorthand1 + shorthand2 + shorthand3 + shorthand4 

を持っている - 入力フォームデータを分割する

私のjQueryのです。私が入力した「10 10 10」と私は私がNaNかどうかを確認することができ、その結果が処理されませ

10 10 10 NaN 

の結果を得る第四番号を入力しない場合

の問題はありますか?

答えて

3

Javascript isNaN(value)関数を使用すると、値がNaNかどうかを確認できます。

2

isNaN()をjsで確認できます。

isNaN()関数は値の「数値的性質」をチェックするだけで、値が有限であるかどうかはチェックしないことに注意してください。数値が有限であるかどうかを調べるには、代わりにJavaScriptのisFinite()を使用する必要があります。

+0

Sudhurは権利である - isFiniteの方は、検出した場合にFALSEを返しますNaN。 parseIntはあなたが見つけたNaNを返します。さらに、分割する前に数字配列の長さを確認することをお勧めします。誰かが "10 10 10"と入力すると配列に要素がなくなり、numbers.lengthがこれを伝えます。フィラー値を割り当てたり、ユーザーにエラーを返したり、どのような方法で対処しても問題ありません。 – user8109

1

isNaN()関数は、値が不正な数値(Not-a-Number)かどうかを判断します。

この関数は、値が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> 
+0

番号や文言がない場合、これは機能しますか?したがって、10 10と10 10 10 10ではないため、10 10 NaN NaNにはなりませんか?とにかく、 –

+0

**あなたのケースでは、** parseInt **は空の値としてNaNを返します。これを参照してください[質問](http://stackoverflow.com/questions/6736476/javascript-parseint-return-nan-forempty-string) –

関連する問題