Error en parseInt de JavaScript y JScript

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]  

12 respuestas a «Error en parseInt de JavaScript y JScript»

  1. Avatar de Cristian
    Cristian
  2. Avatar de Amkhara
    Amkhara
  3. Avatar de Felixonca
    Felixonca
  4. Avatar de NRG
    NRG
  5. Avatar de Marino
    Marino
  6. Avatar de dach
  7. Avatar de Petter02
  8. Avatar de jorge
    jorge
  9. Avatar de Jesus
    Jesus
  10. Avatar de Fabian Altamirano
  11. Avatar de Carlos
    Carlos
  12. Avatar de TARUGO
    TARUGO

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies