Javascript - Leading zero to a number converting the number to some different number. not getting why this happening?

javascript, jquery

Solution

If there is a leading 0, it is converting it to octal (base 8) as long as its a valid number in base 8 (no numbers greater than 7).

For example:

`017` in base 8 is 1 * 8 + 7 = 15 `037` in base 8 is 3 * 8 + 7 = 31

`018` is converted to `18` because `018` isn't a valid number in base 8

Note that the behavior as to which base the number is converted to by default can be browser-specific, so its important to always specify the base/radix when using `parseInt`:

`parseInt("017",10) === 17`

UPDATE based on comments:

`parseInt` expects a `string` as the first argument, so

`parseInt("012",10) === 12`

Problem

A leading zero to some number converting the number to some unknown number format. for example : `017` is getting converted to `15` `037` is getting converted to `31` Also found that numbers having 8 0r 9 at end are remaining same for example : `018` is `18` `038` is `38` `o59` is `59` one more thing that I found is for each next range of 10 the difference between converted value and the actual value get incremented by 2 for example : for range `00-09` difference is `0` i.e value of 07 will be 7, 04 will be 4 for range `010-019` difference is `2` value of 017 will be 15, 013 will be 11 for range `020-029` difference is `4` value of 027 will be 23, 021 will be 17 and so on.. here is a snipet for test http://jsfiddle.net/rajubera/BxQHF/ I am not getting why this is happening ? Please help me how to get the correct decimal number from the number having leading zero ?

Original source

Related problems