2017-09-14 64 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> 

我注意到該錯誤是在 「莫埃=(A + B + C)/ 3」 製成。不是給出正確的數字,而是給出比應該給出的數字更大的數字。我不知道如何修改它,它通常應該可以工作。 我使用的是Firefox build 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

迅速恢復,當您添加提示值其串連所有值 並在javscript鴻溝串聯的值,因此返回錯誤答案的字符串值。 所以第一解析所有值到int.Try以下代碼

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;