Fonction parseInt()

Si vous avez trouvé un bug ou ce que vous pensez être un bug n'hésitez pas à le signaler. Cela permettra sa correction.
Post Reply
Stefan0
Posts: 8
Joined: 27 Jul 2012, 18:51

Fonction parseInt()

Post by Stefan0 »

Bonjour,

Je me suis pris la tête avec un bug, jusqu'à ce qu’éberlué je trouve son origine. En effet, c'est la fonction parseInt() qui fonctionne mal. Voyez plutôt :

parseInt("00") --> 0
parseInt("01") --> 1
parseInt("02") --> 2
parseInt("03") --> 3
parseInt("04") --> 4
parseInt("05") --> 5
parseInt("06") --> 6
parseInt("07") --> 7
parseInt("08") --> 0
parseInt("09") --> 0

Avez vous le même comportement de cette fonction chez vous ?

Image

Texte à coller si vous voulez essayer :

Code: Select all

parseInt("00") + " " + parseInt("01") + " " + parseInt("02") + " " + parseInt("03") + " " + parseInt("04") + " " + parseInt("05") + " " + parseInt("06") + " " + parseInt("07") + " " + parseInt("08") + " " + parseInt("09")
Avant qu'on me le demande : oui, Actiona est à jour :wink:
francois
Posts: 456
Joined: 18 Oct 2010, 10:33
Location: France

Re: Fonction parseInt()

Post by francois »

Bonjour,

Page https://developer.mozilla.org/fr/docs/W ... x/parseInt, il y a :
Si l'argument string commence avec "0", la base considérée sera la base 8 (octale) ou la base 10 (décimale). La base exacte qui sera choisie dépendra de l'implémentation. ECMAScript 5 définit que la base 10 doit être utilisée. Cependant, cela n'est pas supporté par tous les navigateurs. C'est pour cette raison qu'il faut toujours spécifier une base lorsqu'on utilise parseInt().
De fait, si on précise la base, c'est OK.
ainsi parseInt("08",10) restitue bien 8.
Post Reply