7

私は JavaScript 計算機を書きました...しかし、最初の数値を として2、2 番目の数値をとして与えると3、結果は と表示23されますが、2 つの数値を加算したかったとします。

誰でも私を助けてもらえますか?2 つの数値を減算しようとしたときにも発生しています。なぜこれが機能しないのですか?

var cal = prompt("Please enter what type of calculation you want to do\n
if you wanna add enter = 1\n
if you want to minus enter = 2\n
if you want to divide enter = 3\n
if you want to multiply enter = 4");

if (cal == 1) {
    var a = prompt("Please enter your first number");
    var b = prompt("please enter your second number");

    alert("The result is , " + a+b);
}

if (cal == 2) {
    var c = prompt("Please enter your first number");
    var d = prompt("please enter your second number");

    alert("the result is , " + c - d);
}
4

11 に答える 11

3

これを試して:

var cal = prompt("Please enter what type of calculation you want to do\n" +
  "if you want to add enter = 1\n" +
  "if you want to minus enter = 2\n" +
  "if you want to divide enter = 3\n" +
  "if you want to multiply enter = 4");

if (cal == 1) {
    var a = prompt("Please enter your first number");
    var b = prompt("please enter your second number");

    alert("The result is , " + (Number(a) + Number(b)));
}

else if (cal == 2) {
    var c = prompt("Please enter your first number");
    var d = prompt("please enter your second number");

    alert("the result is , " + (Number(c) - Number(d)));
}
于 2013-04-30T05:11:44.747 に答える
1

プロンプトは文字列を返します。それらを整数として解析する必要があります (を使用して float を実行することもできますparseFloat) 。

alert("The result is , " + (parseInt(a) + parseInt(b)));

于 2013-04-30T05:10:44.540 に答える
1

符号は文字列を連結する+ために使用されますが、数学的に加算するためではありません。

parseInt()変数をでラップする必要があります。

alert("The result is , " + parseInt(a)+parseInt(b));
于 2013-04-30T05:10:38.207 に答える
1

ユーザーから受け入れた後、文字列を数値に変換します。

a = parseInt(a, 10);
于 2013-04-30T05:10:38.730 に答える
1

+演算子には、加算と文字列連結の 2 つの用途があります。window.prompt()前者が必要ですが、文字列を返すため後者が発生しています。

これを回避するには、次のいずれかを実行する必要があります (ドキュメントを読んで違いを理解してください)。

  • を使用して文字列を整数として解析しますparseInt(str, 10)
  • を使用して文字列を浮動小数点数として解析しますparseFloat(str)
  • 単項プラス演算子を使用して、文字列を数値にキャストします+str
  • または、Number(str)使用することもできます。

数値を使用して計算を実行する前に、数値を解析できるかどうか ( isNaN(num)、または場合によってはを使用してnum === num) を確認することをお勧めします。これにより、スクリプトは、単に出力を実行するのではなく、役立つエラー メッセージを表示できますNaN

于 2013-04-30T05:29:09.147 に答える
0

使用する

alert("The result is , " + (parseFloat(a)+parseFloat(b)));
于 2013-04-30T05:12:32.093 に答える
0

文字列に追加しています。連結として知られているため、文字列表現を数値に変換してから追加する必要があります。

alert("The result is , " + (parseInt(a) + parseInt(b)));
于 2013-04-30T05:10:36.983 に答える
0

使用する:

var add = parseFloat(a)+parseFloat(b);
于 2013-04-30T05:58:51.307 に答える
0
num1 = window.prompt("Please Enter Your Num1 :");
num2 = window.prompt("Please Enter Your Num2 :");
var sum = parseInt(num1)+ parseInt(num2);
document.writeln("<h1> The summ of two integers,"+num1+", and,"+num2+", is ,"+sum+",</h1>"  )

これがお役に立てば幸いです。

于 2017-03-07T19:13:13.177 に答える