Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/04/2012, 23:20
Kritik
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 1 mes
Puntos: 31
Respuesta: codigo misterioso

Cita:
Iniciado por mike28gt Ver Mensaje
Hola, me llamo mucho la atención el comportamiento de tu código, por lo que quise ver que ocurría, honestamente no supe cual era el problema en sí, pero me llamo la atención el casteo que se estaba realizando con el parseInt, además de eso refactorice un poco tu código y cambie la lógica del despliegue de los números, y así funciono.

Código:
function agregarCero(val)
{
	if (val < 10)
		val = "0" + val.toString();
		return val;
}
document.cronometro.pantalla.value=(agregarCero(minutos) + ":" + agregarCero(segundos) + ":" + agregarCero(centesimas));
Con esta forma de poner el cero delante el cronómetro va perfecto.



Cita:
Iniciado por mike28gt Ver Mensaje
Compañero que cosas las de JavaScript no? la respuesta a lo que sucede es tan sencillo como esto:

La función parseInt en JavaScript no sabe como interpretar la cadena de texto "08" o "09" por si sola, puesto que no puede determinar la base numérica con la que esta trabajando, y en JavaScript los numeros que empiezan con "0" son considerados en base octal y no existen los números "08" y "09" en base octal.

Para arreglar este problema puedes llamar a la función parseInt indicandole en que base numérica estas trabajando, de esta forma:

parseInt('08', 10);

Espero haberte podido ayudar, esta información la puedes encontrar aquí: http://www.ventanazul.com/webzine/articles/issues-parseint-javascript

Saludos!
Cosa curiosa. Quién se lo hubiese imaginado.