Eric Quillévéré
An@lyste-progr@mmeur
Index des forums
Base de connaissances
Groupe "Internet / Javascript"
Se connecter
Répondre
Trouver un message :
Rechercher
Vous n'êtes pas encore inscrit
Vous êtes déjà inscrit
Identifiants/mot de passe perdus
Jamais inscrit sur ce forum
Identifiant (pseudo) :
Mot de passe :
Courriel :
Ville/pays (facultatif) :
Attention, si vous utilisez Hotmail/Live, vous risquez de ne pas pouvoir vous inscrire car ce fournisseur bloque exagérément les messages.
M'inscrire
Déjà inscrit sur ce forum
Identifiant :
Mot de passe :
Me connecter
Déjà inscrit mais sans mot de passe
Vous avez perdu votre mot de passe ?
Vous pouvez en recevoir un autre en indiquant ci-dessous l'adresse du courriel utilisé lors de l'inscription.
Mon courriel :
Envoyer courriel
Bug sur la fonction parseInt
La fonction parseInt transtype une chaine en entier. Ainsi,
parseInt('3')
renvoie 3,
parseInt('123.45')
renvoie 123...
Cette fonction permet aussi de transformer du binaire :
parseInt('00100101', 2)
renvoie 37.
Cependant,
parseInt('0805')
renverra 0 sur les navigateurs Safari, Internet Explorer, Firefox, Chrome. Seul Opera s'en sort en renvoyant 805.
Le bug provient peut-être du fait qu'une chaîne commençant par 0 serait présumée être un nombre à base 8. Comme seulement les chiffres 0 et 1 sont acceptés, les autres doivent être purement supprimés.
La solution :
forcer la base 10 (le 2ème paramètre de parseInt) en faisant
parseInt('0805',10);
Ou alors
parseInt('0805'.replace(/^0+/g, ''))
el_juky
[Administrateur]
le 31/07/2009
Citer
Attention : le Javascript n'est pas activé !
© Eric Quillévéré
(janvier 2000 - mai 2012)
Inspiré d'un design de
Zwatla
+
Lagouache