2017-01-11 4 views
-1

Die If gibt mir immer das letzte ErgebnisWenn nicht funktioniert in Javascript

Überprüfung dieser Ausschnitt

function calc(on, ep, am, ek, b1, b2, b3, b4) { 
 
    var sum, mo; 
 
    b1 = parseInt(b1); 
 
    b2 = parseInt(b2); 
 
    b3 = parseInt(b3); 
 
    b4 = parseInt(b4); 
 
    sum = b1 + b2 + b3 + b4; 
 
    mo = sum/4; 
 
    if (mo < 5) { 
 
    x = "Not Good"; 
 
    } 
 
    if (mo < 6, 5 && mo > 4, 99) { 
 
    x = "Good"; 
 
    } 
 
    if (mo < 8, 5 && mo > 6, 49) { 
 
    x = "Really Good"; 
 
    } 
 
    if (mo > 8, 49) { 
 
    x = "Perfect"; 
 
    } 
 
    alert("O " + on + " " + ep + " " + am + " who is in " + ek + "th semester had avereged " + mo + " " + x); 
 
}
Ich kann nicht bekommen es mit anderen zu arbeiten, aber ich brauche es jedoch arbeiten sie

+0

[Verwenden Sie keine ParseInt ohne Radix] (http://StackOverflow.com/Questions/6611824/Why-Do-We-Need-To-use-Radix). – Quentin

Antwort

5

JavaScript ist floating point literals verwenden ein . Zeichen (U + 002E: FULL STOP) als ein Dezimalpunkt, kein , Zeichen (U + 002C: Komma) (w hich ist ein comma operator).

+0

Danke Mann, du hast mir wirklich geholfen. –

0

Wie bereits erwähnt, müssen Sie . und nicht , verwenden. Ihre mo < 6,5 && mo > 4,99 wird immer auf 99 ausgewertet, was truthy ist. Es spielt also keine Rolle, welchen Wert die mo hat.

var mo = 10; 
 
console.log((mo < 6,5 && mo > 4,99));

Siehe für weitere Informationen MDN: Comma operator:

Der Komma-Operator jeden seiner Operanden ausgewertet (von links nach rechts) und gibt den Wert des letzten Operanden.

Verwandte Themen