2017-09-14 2 views
0

平均3つの変数を計算するときに問題が発生するため、ここにいます。スクリプトは次のとおりです。異なる変数の平均を計算する際のJavaScriptエラー

<script type="text/javascript"> 
    var a, b ,c; 
    var moy; 

    var a= prompt("Moyenne 1 ?"); 
    var b= prompt("Moyenne 2 ?"); 
    var c= prompt("Moyenne 3 ?"); 

    document.write(a+" "+b+" "+c) 


    moy = (a+b+c)/3; 
    moy= Math.floor(moy*100)/100; 
    document.write("Moyenne :"+moy); 
</script> 

「moy =(a + b + c)/ 3」にエラーがありました。正しい数を与えるのではなく、はるかに大きな数を与えます。どのように修正できるかわからないので、正常に動作するはずです。 私はFirefoxのビルド55(非常に最近のバージョン)を使用しています。

JavaScriptの新機能ですので、高度なスクリプトは分かりません:)。 回答ありがとうございます、私はこのエラーで完全に迷っています!

+3

'prompt'は文字列を返し、' + '演算子は文字列を連結します。 – Teemu

+1

a、b、cが数字に変換されていることを確認してください。例、 'var a = parseFloat(prompt(" Moyenne 1? "));' – James

+1

プロンプトから取得したa、b、c文字列をある種の数に解析する必要があります。あなたは 'parseInt'または' parseFloat'を使うことができますが、ユーザが非数字を入力すると、起こりうるエラーを処理する必要があります。 – arbuthnott

答えて

2

moy = (parseInt(a,10)+parseInt(b,10)+parseInt(c,10))/3; 

Refer Here

0

プロンプトリターン、それは間違った答えを返すように、あなたはプロンプト値のCONCATENATEすべての値 ともjavscript除算連結された値に追加した文字列値をやってみてください。 まず、すべての値をint型に解析します。以下のコードを実行します。

var a= prompt("Moyenne 1 ?"); 
var b= prompt("Moyenne 2 ?"); 
var c= prompt("Moyenne 3 ?"); 
a = parseInt(a); 
b = parseInt(b); 
c = parseInt(c); 
moy = (a+b+c)/3;