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

Conseil sur le code JavaScript

Conseil sur le code JavaScript

Pourquoi parseInt('08') renvoie la valeur 1 ?

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.

Les autres astuces du même thème :

Pourquoi parseInt('08') renvoie la valeur 1 ?

Que signifient les drapeaux dans une expression régulière ?

Thèmes


Conseil javascript

Contact - Règles de confidentialité