Autor Tema: Ayuda Javascript!  (Leído 1141 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado .::SaWLeR::.

  • Sv Full Member
  • *
  • Mensajes: 734
Ayuda Javascript!
« : diciembre 16, 2011, 08:50:03 pm »
hola amigos vengo a solicitar de su sabiduria...

quiero me indiquen en que parte de este script me he equivocado que no me muestra lo que quiero al ingresar el codigo si no que solo el default...

de antemano gracias por su ayuda!

Código: [Seleccionar]
<html>
<head>
<title></title>
</head>

<body>
<script language="javascript">
var cod;
cod=prompt('ingrese codigo: ','');
cod=parseInt(cod);
switch (cod){
case 08210214187: document.write('primera Instruccion');
break;
case 08210214188: document.write('segunda Instruccion');
break;
case 08210201020: document.write('Tercera Intruccion');
break;
default:document.write('el codigo es incorrecto');
}
</script>
</body>
</html>

Desconectado JaiMe

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 1485
  • λ | h+
Re: Ayuda Javascript!
« Respuesta #1 : diciembre 16, 2011, 09:14:41 pm »
Respuesta corta, siempre agrega el radix (segundo parametro) a parseInt
Código: [Seleccionar]
cod=parseInt(cod, 10);
Respuesta larga, JavaScript tiene un montón de partes malas. La función parseInt es una de ellas. Por ejemplo cuando el primer parametro es una cadena de texto que comienza con 0, JavaScript asume que queres convertir la string a un numero octal, lo que queres es un decimal, por lo tanto tenes que agregar el 10 como segundo parametro.

OjO: prompt te regresa una cadena de texto

Código: [Seleccionar]
parseInt("08210201020")        // 0
parseInt("08210201020", 8)    // 0
parseInt("08210201020", 10)  // 8210201020

// la comparacion
08210201020 == 8210201020  // true
« Última Modificación: diciembre 16, 2011, 09:26:17 pm por JaiMe »
"Unless you try to do something beyond what you have already mastered, you will never grow."
― Ralph Waldo Emerson