Comment analyser "09" en 9?
Réponses
Trop de publicités?
codeulike
Points
9017
Cela m'a rendu fou - parseInt("02")
fonctionne mais pas parseInt("09")
.
Comme d'autres l'ont dit, la solution est de spécifier la base 10:
parseInt("09", 10);
Il y a une bonne explication à ce comportement ici
... En Javascript, les nombres commençant par zéro sont considérés comme octaux et il n'y a pas de 08 ou 09 en octal, d'où le problème.
Kieran P
Points
141
TDot
Points
51
Réimplémentez le parseInt existant afin que s'il est appelé avec un argument, "10" soit automatiquement inclus comme deuxième argument.
(function(){
var oldParseInt = parseInt;
parseInt = function(){
if(arguments.length == 1)
{
return oldParseInt(arguments[0], 10);
}
else
{
return oldParseInt.apply(this, arguments);
}
}
})();
JonH
Points
20454