Page 1 of 1

Fonction parseInt()

Posted: 18 Mar 2017, 16:26
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:

Re: Fonction parseInt()

Posted: 19 Mar 2017, 07:47
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.