TALLERES DE JAVA SCRIPT - COLEGIO BILINGÜE DE LA UNIVERSIDAD EL BOSQUE

TALLER 12 - CONVERSIÓN EXPLÍCITA DE TIPOS

Conversión explícita de tipos

parseFloat(cadena)

Toma la "cadena" y la transforma en un número en coma flotante, si es posible.

parseFloat ("123.456") = 123.456 parseFloat ("123ABC") = 123

parseFloat ("ABC") = NaN

parseInt(cadena, número)

Devuelve números enteros, el segundo argumento nos permite escoger la base de numeración (entre 2 y 36).

parseInt ("ABC",16) = 2748

ABC16 = 274810

Si no especificamos el segundo argumento, por defecto es 10.

Si la cadena empieza por 0x y no existe el segundo argumento, se entiende que es 16.

Si la cadena empieza por 0 y no existe el segundo argumento, se entiende que es 8 toString(argumento).

Si argumento = número.

Devuelve una cadena que contiene el número

  • Puede haber un argumento opcional:
  • (13).toString(16) =”d” siendo 1310 = d16
  • (13).toString(2) = “1101” siendo 1310 = 11012

Vamos a hacer un programa que sume números en JavaScript.

Escribe:





Grábalo en TuCarpeta con el nombre Prog012.htm

Ejecútalo, utilizando números enteros, naturales y decimales.

A partir de este momento hemos de tener claro si los “prompts” corresponden a números enteros, decimales o de texto:

Si “x” ha de ser un número entero escribiremos: x = parseInt(prompt(“Escribe un número entero”,””));

Si “x” ha de ser un número decimal escribiremos: x = parseInt(prompt(“Escribe un número entero o decimal”,””));

Si “x” ha de ser una cadena de texto escribiremos: x = prompt(“Escribe el texto correspondiente”,””);

Escribe el siguiente programa:





Grábalo con el nombre Prog012b.htm, y ejecútalo.

En el ejercicio Prog007.htm habíamos visto una forma de convertir un número en base 8 o base 16 en base 10. Pero dichos números debíamos de escribirlos implícitamente, es decir en el programa. Nos gustaría hacer un programa que:

  • Nos preguntara un número en base 16 (prompt)
  • Nos diera como resultado el número anterior pero en base 10

Vamos a ver si lo conseguimos:

Escribe:





Grábalo con el nombre Prog012bb.htm en TuCarpeta y ejecútalo. para el número “FF32”, a ver si es verdad que nos da “65330” como resultado.

Observa el funcionamiento del programa Prog012bb.htm:

  • m = prompt(“Escribe un número en base 16”, “”) Lo que escribamos (un número en base 16), se guardará en la variable “m” como texto (ya que no hemos puesto ningún “parseInt” ni “parseFloat”).
  • n =parseInt(m,16) La variable “n” guardará el número en base 10. Es decir: parseInt(cadena, 16), transforma la “cadena”, en nuestro ejemplo un número escrito en base 16, en el correspondiente número (no cadena) pero en base decimal.

Vamos a ver si el procedimiento sirve para cualquier otra base...

Antes de todo veamos unos cuantos números en diferentes bases:

  • 367 = 6 + 3.7 = 27 en base 10
  • 1234 = 3 + 2.4 + 1.42 = 27 en base 10
  • 51346 = 4 + 3.6 + 1.62 + 5.63 = 1138 en base 10

eSCRIBE



Grábalo con el nombre Prog012bbb.htm y ejecútalo, probándolo con los números anteriores.

Veamos el problema inverso: dado un número en base 10, nos interesa convertirlo a base 7, por ejemplo.

Matemáticamente:

Sea 593 un número en base 10

59310 = 15057

En JavaScript deberíamos hacerlo de la siguiente forma, escribe:





Grábalo con el nombre Prog012bbbb.htm y ejecútalo, probando su funcionamiento con el número 593

0 comentarios:

Publicar un comentario

Suscribirse a Enviar comentarios [Atom]



<< Inicio