How to parseInt a string with leading 0
How to parseInt "09" into 9 ?
include the radix:
parseInt("09", 10);
This has been driving me nuts -parseInt("02")
works but not parseInt("09")
.
As others have said, the solution is to specify base 10:
parseInt("09", 10);
There's a good explanation for this behaviour here
... In Javascript numbers starting with zero are considered octal and there's no 08 or 09 in octal, hence the problem.
You can also do:
Number('09') => 9
This returns the integer 9 on IE7, IE8, FF3, FF4, and Chrome 10.
Re-implement the existing parseInt so that if it is called with one argument then "10" is automatically included as the second argument.
(function(){
var oldParseInt = parseInt;
parseInt = function(){
if(arguments.length == 1)
{
return oldParseInt(arguments[0], 10);
}
else
{
return oldParseInt.apply(this, arguments);
}
}
})();