关于计算不同变量平均值的JavaScript错误

问题描述:

我在这里是因为我在计算平均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

尝试做

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

Refer Here

迅速恢复,当您添加提示值其串连所有值 并在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;