Javascript: cero inicial a un número que convierte el número a un número diferente. ¿No entiendo por qué está pasando esto?

Un cero inicial a un número que convierte el número a un formato de número desconocido. por ejemplo :

017 se está convirtiendo a15

037 se está convirtiendo a31

También se encontró que los números que tienen 8 0r 9 al final siguen siendo los mismos, por ejemplo:

018 es18

038 es38

o59 es59

Una cosa más que encontré es

para cada rango de 10 siguiente, la diferencia entre el valor convertido y el valor real se incrementa en 2

por ejemplo :

para rango00-09 la diferencia es0 es decir, el valor de 07 será 7, 04 será 4

para rango010-019 la diferencia es2 el valor de 017 será 15, 013 será 11

para rango020-029 la diferencia es4 el valor de 027 será 23, 021 será 17

y así..

Aquí hay un snipet para la prueba.http://jsfiddle.net/rajubera/BxQHF/

No entiendo por qué esto está pasando?

Por favor, ayúdeme a obtener el número decimal correcto del número que tiene cero.

Respuestas a la pregunta(2)

Su respuesta a la pregunta