why parseInt('08') is giving 0, whereas parseInt('07') is giving 7

Brij picture Brij · Aug 3, 2012 · Viewed 7.8k times · Source

Possible Duplicate:
Workarounds for JavaScript parseInt octal bug

I am working on javascript, and I seem to find this strange, that the javascript function parseInt('08') is returning 0 and parseInt('07') is returning 7.

this behavior seems to be there in Firefox.

parseInt('08') is returning 8 in IE, but 0 in Firefox..

Why? I want parseInt('08') to return 8, as expected and getting in IE.

Answer

AceCorban picture AceCorban · Aug 3, 2012

Yeah, I came across this one before. It is really odd because some browsers interpret this as you wanting to parse it in base 8. Consider the following article:

http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256C85006A6604

basically, you have to tell the parser to use base 10 numbers:

parseInt('08', '10');