web-dev-qa-db-ja.com

プロンプト付きの2つの数値の合計

私はこの数日間、この問題を解決しようとしてきました。プロンプトから入力された2つの数値を減算、乗算、または除算すると、すべてが正常に機能します。しかし、それらを追加したいときは、2つの数字を単純に一緒に書いています。

例:5と6を追加すると、56になります!!

これが私が使っているコードです。

var a = Prompt("Enter first number");
var b = Prompt("Enter second number");

alert(a + b);

私は何が間違っているのですか?値のタイプを指定する必要がありますか?

4
user3471329

関数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のような数字を追加しないため、避けてください。)

7
Ray Toal
 <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を使用すると、数値として取得されるため、文字列として入力として取得されるためです。

0

問題は、JavaScriptが大まかに型付けされていることです。したがって、プロンプトから受け取るものはすべて文字列であるため、実際には「5」が数字であることはわかりません。

できるよ:

var a = Prompt("1st") * 1;
var b = Prompt("2nd") * 1;

alert (a + b);

*演算子はすべてを数値のように動作させるため、これは機能します。

0
Gui Imamura

算術演算子の代わりに連結演算を使用しています。

上記のコードでは:

alert(a + b);

ブラウザコンパイラはそれを連結と見なします。したがって、2つの文字列を連結します。そのため、その出力が得られます。

0
ArunRaj

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は疎結合です。

0
V.Kumpavat

Varaとvarbを入力すると、変数はおそらく整数ではなく文字列(文字)に設定されます。

したがって、_a + b_を使用すると、それらの文字を組み合わせることができます。

入力した値が整数として保存されるようにするには、

_parseInt()
_

例:var a = parseInt( Prompt("Enter first number") );

0
xtylo

これを試して 、

var a = Prompt("Enter first number");
var b = Prompt("Enter second number");
var x=parseInt(a);
var y=parseInt(b);

alert(x+y);
0
user1142420