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 3672 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 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 30 oct. 2019 à 08:54
A voir également:
- Ou placer ma balise parseInt
- Placer des points sur une carte - Guide
- Balise br ✓ - Forum CSS
- Ou se placer accor arena ✓ - Forum Loisirs / Divertissements
- Quel symbole doit-il placer dans son message devant le nom d'utilisateur de marc - Forum MacOS
1 réponse
Reivax962
Messages postés
3672
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