Utilitaires
Jeux
Paroles
Textes
Forum
Livre d'or
Index des forums 

Index des forums


Dossier 

Base de connaissances


Dossier Groupe "Internet / Javascript"
Se connecter
Répondre
Trouver un message :
Rechercher
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
© Eric Quillévéré (janvier 2000 - mai 2012) Inspiré d'un design de Zwatla + Lagouache
Valid CSS! Valid HTML 4.01 Transitional