Comparaison entre deux nombres javascript
Résolu
milexarc
Messages postés
106
Statut
Membre
-
milexarc Messages postés 106 Statut Membre -
milexarc Messages postés 106 Statut Membre -
Bonjour,
j'ai 3 input (ab, bc et ac), j'ai un écrit un code qui permet de les comparer mais quand je mets des valeurs supérieurs à 10, il ne fonctionne plus correctement.
Mon code javascript :
function valider(){
var ab = document.getElementById("ab").value;
var bc = document.getElementById("bc").value;
var ac = document.getElementById("ac").value;
if ((ab > bc) && (ab > ac))
{alert("AB est le plus grand côté");
}
else if ((bc > ab) && (bc > ac))
{ alert("BC est le plus grand côté");
}
else if ((ac > ab) && (ac > bc))
{ alert ("AC est le plus grand côté");
}
le code fonctionne parfait mais seulement pour des valeurs inférieur à 10 ... ais-je oublier quelque chose ?
j'ai 3 input (ab, bc et ac), j'ai un écrit un code qui permet de les comparer mais quand je mets des valeurs supérieurs à 10, il ne fonctionne plus correctement.
Mon code javascript :
function valider(){
var ab = document.getElementById("ab").value;
var bc = document.getElementById("bc").value;
var ac = document.getElementById("ac").value;
if ((ab > bc) && (ab > ac))
{alert("AB est le plus grand côté");
}
else if ((bc > ab) && (bc > ac))
{ alert("BC est le plus grand côté");
}
else if ((ac > ab) && (ac > bc))
{ alert ("AC est le plus grand côté");
}
le code fonctionne parfait mais seulement pour des valeurs inférieur à 10 ... ais-je oublier quelque chose ?
2 réponses
-
Bonjour,
Il faut lui préciser que ce sont des nombres, sinon il les considère comme des chaines de caractères et les classe dans l'ordre alphabétique, et dans l'ordre alphabétique, 10 commençant par 1 est avant 8 et avant 3. Si vous mettez 13 15 et 18 il trouvera bien que 18 est le plus grand.
Pour préciser que ce sont des nombres : parseInt() si seuls des entiers peuvent être entrés ou parseFloat() s'il peut y avoir des décimales. -
par exemple si je met 3, 10 et 8 il me sort que 8 est la plus grand valeurs ..