Al convertir una cadena texto a numérico con la función de JavaScript parseInt existe un pequeño error cuando la cadena empieza por «0», por ejemplo:
[script]
siete = parseInt(«7») // nos devuelve 7
sieteb = parseInt(«07») // nos devuelve 7
ocho = parseInt(«8») // nos devuelve 8
ochob = parseInt(«08») // nos devuelve 0 !!
nueve = parseInt(«9») // nos devuelve 9
nueveb = parseInt(«09») // nos devuelve 0 !!
[/script]
Este error afecta tanto a JavaScript como a JScript(asp) y parece ser que al comenzar la cadena por «0» cambia a base Octal dando «0» al convertir 8 y 9 que no existen en esa base. El problema es bastante significativo al tratar fechas estilo dd/mm/aaaa, descomponer dicha cadena en día, mes y año para después convertirla en número. De esta manera Agosto y Septiembre («08» y «09») serían 0 en vez de 8 y 9.
La solución es añadir la base en la que debe trabajar la función parseInt. Para ello basta con añadir «10» a la función de la siguiente manera:
[script]
ocho = parseInt(«08»,10) // Ahora devuelve 8, quedando definitivamente solucionado este «Bug»
[/script]