0

データ入力を検証して、それが整数か文字列かを確認しようとしています。私は周りを見回して、いくつかの提案やtypeof提案を見ましたが、何もうまくいかないようです.

var nam = prompt("Enter name:")
     person.push(nam);
 var mk1 = prompt("Enter mark 1:");
    var mk1 = parseInt(mk1);
    mark1.push(mk1);
4

6 に答える 6

0

本当に何をしようとしているのかを言うのは難しいです。2 回宣言しているようですがvar mk1、これは少し奇妙に見えます。また、parseInt が失敗した (NaN [Not a Number] を返した) 場合でも、それを mark1 に追加しますが、これはおそらく望んでいるものではありません。これを見てください:

var nam = prompt("Enter name:")
person.push(nam);

var mk1 = prompt("Enter mark 1:");
mk1 = parseInt(mk1);
if (Number.isNaN(mk1) === false) {
   mark1.push(mk1);
} else {
    alert("mark 1 is not a number");
}
于 2014-11-27T13:46:57.073 に答える
0

この関数を使用してください: isNaN(parseInt(mk1))

数値でない場合は「true」、数値の場合は「false」を返します

于 2014-11-27T14:10:28.957 に答える
0

以下のように === 演算子を使用します

if (mk1  === parseInt(mk1 , 10))
    alert("mk1 is integer")
else
    alert("mk1 is not an integer. May be String")

引数が数値であることを知らない場合 -

function isInt(n){
    return Number(n)===n && n%1===0;
}
于 2014-11-27T13:41:08.953 に答える
0

入力文字列が数値ではないかどうかを確認したい場合は、これを試してください:

if (isNaN(parseInt(name, 10)) {
    //name is String
} else {
    //name is Number
}
于 2014-11-27T13:43:04.047 に答える
0

この方法で入力タイプを見つけてください。

if(!isNaN(parseInt(mk1))) 
  // for integer
else if(!isNaN(parseFloat(mk1)))
 //for float
else
 // String
于 2014-11-27T13:43:09.567 に答える