Sólo un idiota puede ser totalmente feliz.
Mario Vargas Llosa
En los foros
Comentarios recientes
- Gracias no trabajo mucho con
50 semanas 13 horas atrás - Muchas gracias, me sirvio de
51 semanas 1 día atrás - Hola muy bueno el articulo.
1 año 3 semanas atrás - Cuando creias que tenias unos
1 año 3 semanas atrás - Recién escucho de el..espero
1 año 5 semanas atrás - No necesariamente, creo que
1 año 6 semanas atrás - Hola que buena tu cerdito se
1 año 9 semanas atrás - En definitiva, estoy muy de
1 año 15 semanas atrás - Muchas gracias, me has
1 año 16 semanas atrás - saludos compa la idea de
1 año 16 semanas atrás
Escribiendo una sencilla función Javascript para crear un objeto Date a partir de una cadena con formato 'yyyy-mm-dd' me encontré con una particularidad de la función parseInt, usada para transformar cadenas en enteros.
Tanto parseInt('08') como parseInt('09') retornan cero debido a que la función pretende determinar la base del sistema de numeración usado para la conversión y en Javascript los números que empiezan en cero se consideran de base octal. 08 y 09 no existen en el sistema octal y allí el problema.
Para resolverlo basta con usar el segundo parámetro de parseInt, que es justamente la base del sistema de numeración a usar. Las llamadas correctas serían entonces: parseInt('08', 10) y parseInt('09', 10).
Otro de esos detallitos, ¿no?
Artículos relacionados
Te recomiendo visitar
- Maestros del Web
- Dupermag
- Nudonation
- Alojamiento web Servicios de alojamiento web y registro de dominios para pymes y particulares.

Participa en la discusión
Javascript y números octales
Tienes razón, eso está en la documentación y no es un bug, no quise decir que lo fuera, pero a muchos se nos puede pasar y es importante recordarlo.
Gracias por el comentario. Saludos.
Alexis Bellido
Muchas gracias por la
Muchas gracias por la aclaración. Ya estabamos pensando que el javascript era una mierda. Y resulta que es una auténtica mierda.
Gracias a ti, sabemos como rebuscar dentro de la basura.
Como simple usuario, solo
Como simple usuario, solo decir que hace 8 y 10 años navegaba tan feliz con IE, Opera, Mozilla o lo fuera.
Ahora cada vez más el 50% del tiempo me trago errores de Javascrpit en webs que creo podrian haberse diseñado en su totalidad sin Javascript y de hecho antes no lo tenian.
Gracias!!!! me estaba
Gracias!!!! me estaba volviendo loca!!!!!
Jajaja, muchas gracias compañer@
Pues a mí me has ahorrado
Pues a mí me has ahorrado horas de dolor de cabeza, aunque la solución cutre está a la mano, no? pones algo del tipo:
if (num='08') num_int=8;
else if (num='09') num_int=9;
else num_int=parseInt(num);
Pero en fin... como decía alguien por ahí VAYA MIERDA con el javascript. ¿En qué proporción se usan números en base octal frente a base decimal?! qué increíble...
Aunque esté anotado en la documentación... no es justificación para hacerlo así. Bueno, la prueba es que es el primer lenguaje de programación que conozco que la función hómologa ("pasar a entero") trabaja con base octal por defecto... al menos de "alto nivel". En fin... ;)
Gracias maestro.
SERGI
Muchas gracias por la
Muchas gracias por la explicación. Había llegado a detectar el error, pero desconocia el por qué pasaba y como podría solucionarlo.
Gracias y sigue así.
Muy buena explicación. Para
Muy buena explicación. Para comprobar que todo lo insolito que sucede en la programación tiene una explicación... ya me parecía que tenía que haber una respuesta sensata a algo tan absurdo, parecía como ver un 2 en el sistema binario.
De paso, estaba usando parseFloat('08') --> 8, idem para el 09....
Saludos
David y Carlos: O sea que,
David y Carlos:
O sea que, cuando sea que vuestro IQ (CI) no dé lo suficiente para comprender una razón inteligente para algo, entonces es una mierda. Bien, me parece razonable - bajo ese esquema de IQ, claro está.
Pero lo del parseo es cultura
Pero lo del parseo es cultura general programadores
gracias, por esta tonteria
gracias, por esta tonteria vamos a poder arreglar una incidencia que nos traia locos.
un saludo.
Dificil de creer que estos
Dificil de creer que estos sean comentarios de programadores...
Muchas gracias, me has
Muchas gracias, me has ahorrado muchas horas para resolverlo. Menos mal que busqué en internet y lo primero que apareció fue tu página. Gran aporte!!!. Gracias!!
Muchas gracias, me sirvio de
Muchas gracias, me sirvio de mucho esta ayuda.
Gracias no trabajo mucho con
Gracias no trabajo mucho con javascript, y pensaba que era mi error, en serio gracias por la explicacion..