Programador PHP freelance

23 May, 2008

Error en parseInt de Javascript

Posted by: admin In: Desarrollo

Existe un bug en la función parseInt de Javascript i Jscript (asp) que provoca que la función devuelva 0 para ciertos valores.

En concreto el error parece que tiene que ver con la interpretación del primer carácter cuando este es 0 ya que se interpreta que lo que sigue es en base octal y para aquellos números que no tienen representación en octal se devuelve erróneamente 0.

Pongo un ejemplo:
parseInt(’07′) -> devolverá 7
parseInt(’08′) -> devolverá 0
parseInt(’09′) -> devolverá 0

parseInt(’10′) -> devolverá 10

Imaginaros los estropicios que puede provocar esto en la conversión de cadenas a fechas, caso donde me he encontrado el error. En concreto el día ‘08/07/2008′ que yo interpreto como 8 de Julio de 2008, el javascript me lo daba como 30 de Julio de 2008 al devolver cero la llamada parseInt(’08′)

Para solucionarlo hay que decirle a parseInt que trabaje en base 10 y el bug desaparece inmediatamente.

parseInt(’08′, 10) devuelve el resultado esperado.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Posts relacionados

1 Response to "Error en parseInt de Javascript"

1 | jfhack

December 18th, 2009 at 6:11 am

Avatar

genial!, muchas gracias!

Comment Form

Categories

Publicidad

About

ProgramadorPHP.es es el blog profesional de Vicent González i Castells, programador freelance especializado en desarrollo de aplicaciones web. vigoncas@aaa.upv.es

CURRÍCULUM

Tags