Ou placer ma balise parseInt
Résolu/Fermé
VazyoO_
Messages postés
19
Date d'inscription
dimanche 27 octobre 2019
Statut
Membre
Dernière intervention
2 décembre 2020
-
Modifié le 29 oct. 2019 à 13:29
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 30 oct. 2019 à 08:54
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 30 oct. 2019 à 08:54
1 réponse
Reivax962
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
Modifié le 29 oct. 2019 à 13:34
Modifié le 29 oct. 2019 à 13:34
Bonjour,
J'aurais plusieurs remarques.
1 - Tu devrais regarder le fonctionnement des boucles : avec un for (var i = 1; i < 36; i++) tu peux largement simplifier ton code.
2 - parseInt n'est pas une balise, mais une fonction.
3 - parseInt prend en entrée une chaîne de caractère (ce qui est probablement la nature de chacune des valeurs de tes cases) et ressort un entier. Or tes calculs se basent sur des entiers. Ce sont donc chacun de tes termes de l'addition qui doivent être transformés en entiers
4 - Attention à la priorité des opérateurs : A+B+C/3 n'est pas la même chose que (A+B+C)/3. Et je pense que c'est cette dernière opération que tu veux réellement faire.
En bref, je te propose ce code :
Xavier
J'aurais plusieurs remarques.
1 - Tu devrais regarder le fonctionnement des boucles : avec un for (var i = 1; i < 36; i++) tu peux largement simplifier ton code.
2 - parseInt n'est pas une balise, mais une fonction.
3 - parseInt prend en entrée une chaîne de caractère (ce qui est probablement la nature de chacune des valeurs de tes cases) et ressort un entier. Or tes calculs se basent sur des entiers. Ce sont donc chacun de tes termes de l'addition qui doivent être transformés en entiers
4 - Attention à la priorité des opérateurs : A+B+C/3 n'est pas la même chose que (A+B+C)/3. Et je pense que c'est cette dernière opération que tu veux réellement faire.
En bref, je te propose ce code :
function resoudre() { var resultat = 0; for (var i = 1; i < 36; i++) { var case = "case" + i; resultat += parseInt(document.getElementById(case).value); } document.getElementById("case37").value = resultat / parseInt(document.getElementById("case36").value); }
Xavier
29 oct. 2019 à 13:41
29 oct. 2019 à 14:12
Erreur toute bête, j'ai appelé la variable case, alors que c'est un nom réservé...
change « var case » en « var nom », puis dans la ligne juste en dessous, remplace aussi « case » par « nom ».
Xavier
29 oct. 2019 à 14:14
29 oct. 2019 à 14:56
29 oct. 2019 à 15:06
moins