私はこの数日間、この問題を解決しようとしてきました。プロンプトから入力された2つの数値を減算、乗算、または除算すると、すべてが正常に機能します。しかし、それらを追加したいときは、2つの数字を単純に一緒に書いています。
例:5と6を追加すると、56になります!!
これが私が使っているコードです。
var a = Prompt("Enter first number");
var b = Prompt("Enter second number");
alert(a + b);
私は何が間違っているのですか?値のタイプを指定する必要がありますか?
関数Prompt
は文字列を返し、+
は(賢明ではないかもしれませんが)両方文字列の連結と数値の加算に使用されます。
JavaScriptでは「タイプを指定」しませんが、実行時に文字列から数値への変換を行うことができます。これを行うには多くの方法があります。最も単純なものは次のとおりです。
var a = +Prompt("Enter first number");
var b = +Prompt("Enter second number");
alert(a + b);
しかし、あなたもすることができます
var a = Number(Prompt("Enter first number"));
var b = Number(Prompt("Enter second number"));
alert(a + b);
(parseInt
は先頭の文字のみを処理し、4.5や2.6のような数字を追加しないため、避けてください。)
<script>
var a = Prompt("Enter first number","");
var b = Prompt("Enter second number","");
a=Number(a);
b=Number(b);
alert(a+b);
</script>
これは、文字列を数値とアラートに変換することでも機能します。
var a = parseInt(Prompt("Enter first number"));
var b = parseInt(Prompt("Enter second number"));
alert(a + b);
プロンプトの前にparseIntを使用します。これは、parseIntを使用すると、数値として取得されるため、文字列として入力として取得されるためです。
問題は、JavaScriptが大まかに型付けされていることです。したがって、プロンプトから受け取るものはすべて文字列であるため、実際には「5」が数字であることはわかりません。
できるよ:
var a = Prompt("1st") * 1;
var b = Prompt("2nd") * 1;
alert (a + b);
*演算子はすべてを数値のように動作させるため、これは機能します。
算術演算子の代わりに連結演算を使用しています。
上記のコードでは:
alert(a + b);
ブラウザコンパイラはそれを連結と見なします。したがって、2つの文字列を連結します。そのため、その出力が得られます。
1)関数Prompt
は文字列を返し、'+'は(おそらく)文字列の連結と数値の加算の両方に使用されます。
var a = +Prompt("Enter first number");
var b = +Prompt("Enter second number");
alert(a + b);
2.)一部の開発者はプロンプトの前にparseInt
を使用しますが、5.2、9.99などの浮動小数点数を追加しないため、これは適切な方法ではありません。
var a = parseInt(Prompt("Enter first number"));
var b = parseInt(Prompt("Enter second number"));
alert(a + b);
BEST WAYプロンプトボックスに番号を追加する他の別の方法を使用して、プロンプトの前にNumber
を配置できます。
var a = Number(Prompt("Enter first number"));
var b = Number(Prompt("Enter second number"));
alert(a + b);
JavaScriptは疎結合です。
Varaとvarbを入力すると、変数はおそらく整数ではなく文字列(文字)に設定されます。
したがって、_a + b
_を使用すると、それらの文字を組み合わせることができます。
入力した値が整数として保存されるようにするには、
_parseInt()
_
例:var a = parseInt( Prompt("Enter first number") );
これを試して 、
var a = Prompt("Enter first number");
var b = Prompt("Enter second number");
var x=parseInt(a);
var y=parseInt(b);
alert(x+y);