jueves, diciembre 07, 2006

Google
 

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:

At 9:35 AM, Blogger Hugo said...

Esto mismo se lo podias preguntar a Laetitia, que la paso tambien. Pero claro como se ha perdido su knowhow.

 
At 9:38 AM, Blogger JavaGus said...

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