データ入力を検証して、それが整数か文字列かを確認しようとしています。私は周りを見回して、いくつかの提案やtypeof
提案を見ましたが、何もうまくいかないようです.
var nam = prompt("Enter name:")
person.push(nam);
var mk1 = prompt("Enter mark 1:");
var mk1 = parseInt(mk1);
mark1.push(mk1);
データ入力を検証して、それが整数か文字列かを確認しようとしています。私は周りを見回して、いくつかの提案やtypeof
提案を見ましたが、何もうまくいかないようです.
var nam = prompt("Enter name:")
person.push(nam);
var mk1 = prompt("Enter mark 1:");
var mk1 = parseInt(mk1);
mark1.push(mk1);
本当に何をしようとしているのかを言うのは難しいです。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");
}
この関数を使用してください: isNaN(parseInt(mk1))
数値でない場合は「true」、数値の場合は「false」を返します
以下のように === 演算子を使用します
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;
}
入力文字列が数値ではないかどうかを確認したい場合は、これを試してください:
if (isNaN(parseInt(name, 10)) {
//name is String
} else {
//name is Number
}
この方法で入力タイプを見つけてください。
if(!isNaN(parseInt(mk1)))
// for integer
else if(!isNaN(parseFloat(mk1)))
//for float
else
// String