Si declaro estas variables
var var1 = "75";
var var2 = 25;
var var3, var4;
var3 = var1 + var2;
var4 = var2 + var1;
Las varibles var3 y var4 contienen ¿números o textos?
Cuando se suman cadenas de texto con cualquier otra cosa, los otros tipos de datos se
convierten en cadenas de texto.
Pero si restamos, multiplicamos o dividimos "cadenas de
texto", ¿sucede lo mismo?.
Código del primer alert Script.
- El primer alert dice:
• Si sumamos dos cadenas (aunque contengan números) de texto el resultado es unión de los dos textos.
• Si multiplicamos (o hacemos cualquier operación aritmética que no sea la suma),
dos cadenas de texo que contienen números, se produce una
conversión implícita de las cadenas a números y aparece el producto aritmético
de los números.
¿Qué sucede si introducimos dos números a través de la función prompt?
Código del segundo alert Script.
-No funciona como deseamos debido a que el resultado de un prompt, siempre
es una cadena de texto.
El problema que tenemos pendiente, es ¿cómo sumar en JavaScript?
- 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
Código del tercer alert Script.
Funciona sin problemas...!
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(“Escribí un número entero o decimal”,””));
- Si “x” ha de ser una cadena de texto escribiremos:
x = prompt(“Escribí el texto correspondiente”,””);
Bajar el archivo de texto con el código completo