erreur de parseInt étrange [javascript] - HTML/CSS - Programmation
Marsh Posté le 04-01-2006 à 17:46:12
0 devant c'est un nombre au format octal non ?
donc 8 et 9 n'existe pas dans cette base.
Marsh Posté le 04-01-2006 à 19:38:59
hum,
merci de ces réponses, on en apprend vraiment tous les jours
Marsh Posté le 04-01-2006 à 23:06:19
y'a pas qu'avec 0 devant que ça déconne.
j'ai déjà eu ce problème sur un grand site e-Commerce. le bug était resté en suspend pendant des semaines, parcequ'on ne comprenait pas ce qu'il se passait
et du coup quand les gens voulaient 9 unités d'un tuc, il se retrouvaient avec 11
depuis, je vous le radix à chaque fois que je croise une fonction qui l'accepte comme paramètre optionnel
Marsh Posté le 20-07-2006 à 19:10:15
je viens d'avoir ce problème, et c'est vrai que ça surprend sur le coup...
Surtout que dans la doc, il est bien spécifié que le 2ème paramètre optionnel (la base) vaut 10 par défaut, ce qui est un mensonge éhonté La fonction marche en base 8 par défaut...
Pour ceux qui galèreraient un jour avec ça :
Code :
|
Ca marche bien
Marsh Posté le 20-07-2006 à 22:17:03
Citation : Les spécifications ECMAScript stipulent que si la chaîne débute par "0" (mais non "0x" ou "0X" car là parseInt() l'interprèterait comme un nombre hexadécimal), parseInt() peut la parser comme étant un nombre octal ou un nombre décimal. |
source : JavaScript La référence (O'Reilly)
edit : euh.. tout ça pour dire que ce n'est pas forcément un mensonge éhonté
Marsh Posté le 27-07-2006 à 10:28:24
Merci pour l'astuce, j'ai remarqué ce pb ajd. Je serais passé quelques jours plus tot je serais toujours en train de galérer ;-)
Marsh Posté le 04-01-2006 à 17:25:31
Bonsoir,
un truc bizarre en js.
si je fais :
J'ai un beau 7 qui s'affiche
mais si je mets '08' ou '09' ca ne fonctionne pas, les autres nombres passent eux.
Si quelqu'un a une idée.
Message édité par $man le 04-01-2006 à 17:25:50