Pourquoi parseInt('08') renvoie la valeur 1 ? - Conseil sur le code JavaScript

Retour à l'accueil

Retour à la liste des conseils

La fonction parseInt() travaille dans certains cas en base 8. Par conséquent, l'appel de cette fonction avec une chaine commençant par 0 provoquera un résultat inattendu si vous travaillez en base 10.

Par exemple :
parseInt('07') renvoie 7
parseInt('08') renvoie 0

Pour remédier à ce problème, il faut ajouter la base utilisée comme second paramètre à la fonction.

Ainsi, les résultats seront :
parseInt('07',10) renverra 7
parseInt('08',10) renverra 8
parseInt('09',10) renverra 9
parseInt('10',10) renverra 10
parseInt('11',10) renverra 11

A noter que si le premier chiffre de la chaine de caractère est différent de 0, la fonction travaille en base 10.

Version classique - Contact - Règles de confidentialité