Calendarios:Ojito con funcion parseInt
El otro día me tope con un problema cuando esta haciendo un calendario creado en Javascript y que lee las actividades de una base de datos, total que al comparar el dia en el que hay una actividad con el del calendario, resultaba que Agosto y Septiembre no los reconocia, tras volverme loco buscando el fallo en el codigo llegue a encontrar que al hacer parseInt("08") devolvia 0, esto es debido a que intenta convertir la cadena a numero, pero en vez de a entero en base decimal lo hace en base octal.
Solucion:
Pues a) Contemplar la excepcion es decir
if(cadena=="08"){cadena="8" ; //y hacer el mes=parseInt(cadena) donde corresponda}
if(cadena=="09"){cadena="9" ; //y hacer el mes=parseInt(cadena) donde corresponda}
b) decirle la base al parseInt(cadena,10); convierte la cadena a numero decimal.
Espero que os sirva de algo porque realmente es un problema dificil de detectar.
2 Comentarios:
Esto mismo se lo podias preguntar a Laetitia, que la paso tambien. Pero claro como se ha perdido su knowhow.
Hola,
también se puede arreglar con parseFloat.
igualmente es una cosa que te vuelve loco y menos mal que alguien explica la razón.
un saludo.
Publicar un comentario en la entrada
Enlaces de este post:
Crear un enlace
<< Home