30

How to parseInt "09" into 9 ?

6 Answers 6

57

include the radix:

parseInt("09", 10);
Sign up to request clarification or add additional context in comments.

Comments

12

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.

Comments

5

You can also do:

Number('09') => 9

This returns the integer 9 on IE7, IE8, FF3, FF4, and Chrome 10.

Comments

5

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);
    }
  }
})();

Comments

2
parseInt("09",10);

returns 9 here.

It is odd.

alert(parseInt("09")); // shows 9. (tested with Opera 10)

5 Comments

@JonH: Right. Thanks for warning. Since he wrote string instead of String I was mistaken.
Depending on the browser and version parseInt("09") can return 0. It is a bug.
@JonH: can you please check this: w3schools.com/jsref/jsref_parseInt.asp document.write(parseInt("010") also displays 10 here.
@JonH: It's not actually a bug. ECMAScript allows implementations to treat numbers with leading zeros as octal. Some implementations do, and some don't.
@MatthewCrumley—an old comment but what the heck - ES5 removes that behaviour, so compliant browsers should treat parseInt('08') as base 10.
2
parseInt("09", 10);

or

parseInt(parseFloat("09"));

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.