-3

私のコードは 2+2=4 のような数値を追加しませんが、 2+2=22 のように追加します。変数が数値であることを認識するように、これをどのように変更できるか疑問に思っていました。

var gra=0;
var graTwo=0;
var graThree=0;

var stu = prompt("Who are you grading?");
var gra = prompt("Oh, what is " +stu+ "'s grade?") 
    if(gra>80) {
    alert("Congrats, " +stu+   ". Have a gold star!")
    }
        else {
            alert("Wow, thats awful " +stu+  ", try again")
        };
var stuTwo = prompt("Who are you grading?")
var graTwo = prompt(" Oh, what is " +stuTwo+ " 's grade?")
            if(graTwo>80) {
            alert("Congrats, " +stuTwo+ ". Have a gold star!")
    }
        else {
            alert("Wow, thats awful " +stuTwo+ ", try again")
        };
var stuThree = prompt("Who are you grading?");
var graThree = prompt("Oh, what is" +graThree+ "'s grade?")
            if(graThree>80) {
    alert("Congrats, " +stuThree+ ". Have a gold star!");
            }
        else {
            alert("Wow, thats awful " +stuThree+ ", try again")
        };
var add = (gra+graTwo+graThree);
alert(add)
    alert("The average grade of your class is ")
4

3 に答える 3

3

プラスのために問題を抱えているわけではありません。文字列であるプロンプトにgraThreeを割り当てているため、問題が発生しています。他の答えが示唆するように parseInt を使用してください。

また、prompt("Oh, what is" + graThree+ "'s grade?")変数を使用する必要があるときにプロンプ​​トを表示していますstuThree

于 2013-09-24T23:44:37.317 に答える
2

parseIntまたはを使用する必要がありますparseFloat

于 2013-09-24T23:42:55.743 に答える
0

プロンプト関数は文字列型を返すため、数値を追加する代わりに文字列を連結します。
変数に対してアクションを実行する前に、常に変数の型を確認する必要があります。
Javascript は、ちょっと便利すぎる場合があります。

于 2013-09-24T23:51:50.520 に答える