Monday, March 11, 2013

(Re-Copy) Why Javascript Returns Zero For parseInt('08') and parseInt('09')?

http://www.ventanazul.com/webzine/articles/issues-parseint-javascript Why Javascript Returns Zero For parseInt('08') and parseInt('09')? Writing a simple Javascript function to create a Date object from a 'yyyy-mm-dd' string I found a small, but important, issue with the parseInt function, used to transform strings to integers. Both parseInt('08') and parseInt('09') return zero because the function tries to determine the correct base for the numerical system used. In Javascript numbers starting with zero are considered octal and there's no 08 or 09 in octal, hence the problem. To fix this just add the second parameter for parseInt, the base to be used for the conversion. The correct calls should be parseInt('08', 10) and parseInt('09', 10). Another of those little details, uh? Posted to Articles, javascript, tips on Wed, 2008-07-02 17:03