2017-09-14 3 views
0

Ich bin hier, weil ich einige Probleme bei der Errechnung von durchschnittlich 3 Variablen habe. Hier ist das Skript:JavaScript Fehler bei der Berechnung der Durchschnitt der verschiedenen Variablen

<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> 

Ich bemerkte, der Fehler bei "moy = (a + b + c)/3" gemacht wird. anstatt die richtige Zahl zu geben, gibt es eine viel größere Zahl, als es geben sollte. Ich weiß nicht, wie ich es ändern könnte, es sollte normalerweise funktionieren. Ich benutze Firefox Build 55 (so eine sehr aktuelle Version).

Ich bin neu in JavaScript, also verstehe ich vielleicht nicht fortgeschrittenes Skript :). Danke für die Antworten, ich bin komplett mit diesem Fehler verloren!

+3

'prompt' einen String zurückgibt, und '+' Operator verkettet Strings. – Teemu

+1

Sie sollten sicherstellen, dass a, b, c in Zahlen konvertiert werden. Beispiel, 'var a = parseFloat (Eingabeaufforderung (" Moyenne 1? "));' – James

+1

Sie müssen Ihre a, b, c Zeichenfolgen analysieren, die Sie von der Eingabeaufforderung in Zahlen irgendeiner Art erhalten. Sie können 'parseInt' oder' parseFloat' verwenden, aber Sie müssen mögliche Fehler behandeln, wenn Benutzer keine Zahlen eingeben. – arbuthnott

Antwort

2

Versuchen

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

Refer Here

0

Prompt Rückkehr ein String-Wert tun, wenn Sie Aufforderungswerte seiner verketten alle Wert und auch in javscript divide verkettete Werte hinzufügen, damit sie falsche Antwort zurückgibt. so zunächst alle Werte in int.Try unter Code analysieren

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; 
Verwandte Themen