Sei sulla pagina 1di 4

javascript: conversion entre tipos

1 de 4

Ir a inicio

Anuncios Google
PHP JavaScript
Java
Visual Basic
C++
apuntes
comunicaciones
javascript
lenguaje c
php
autoayuda
bolsa
bricolage
chistes
deportes
descargas
email
empleo
fotografia digital
marcas movil
mascotas
motor
moviles
mp3
ocio
pisos
plantas
recetas
sabiasque
salud
thermomix
timos
trucos
virus y seguridad
webmaster

Aadir a favoritos

http://www.gratiszona.com/apuntes/javascript/16_conversion_entre_tip...

recetas de cocina

Estas en: gratiszona > apuntes > javascript

javascript: conversion entre tipos


8.- Conversin entre tipos de datos
Conversin implcita de tipos

moviles y juegos

Eclipse Web 2.0 Tools


JavaScript Editor and Debugger Ajax-ready IDE - Free trial
www.myeclipseide.com

Source Code Spell Checker


Too many spelling errors in GUI? Spellcheck your source
code.
www.softario.com

Observa: var var1 = "75";

Sargent Industrial
Cadenas, Acoplamientos, Reductores Representantes de
Renold en Chile

var var2 = 25;

www.sargent.biz

var var3, var4;

Multiplica tu Capital hoy


En 30 das listo para FOREX ACM: Ginebra New York

var3 = var1 + var2;

www.ac-markets.com/divisas/

var4 = var2 + var1;


Las varibles var3 y var4 contienen nmeros 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?. Vamos a descubrirlo
en los siguientes programas.

Escribe el siguiente programa:


<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG010.HTM
var num1="30";
var num2="15";
// Observa que definimos dos cadenas de texto
alert("30+15= "+(num1+num2));
alert("30*15= "+(num1*num2));
</SCRIPT>
</HTML>

Graba el programa en TuCarpeta con el nombre Prog010.htm


Ejectalo.
La conclusin est clara:
Si sumamos dos cadenas (aunque contengan nmeros) de texto se produce la concatenacin (unin) de los
dos textos.
Si multiplicamos (o hacemos cualquier operacin aritmtica que no sea la suma), dos cadenas de texo que
en realidad contienen nmeros, se produce una conversin implcita de las cadenas a nmeros y aparece el
producto aritmtico de los nmeros.
Qu sucede si introducimos dos nmeros a travs de la funcin prompt?. Vamos a verlo:
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
//PROG011.HTM
var num1,num2;
num1=prompt("Escribe un nmero","");
num2=prompt("Escribe otro nmero","");
alert("La suma es ="+(num1+num2));
</SCRIPT>
</HTML>

Grbalo en TuCarpeta, con el nombre Prog011.htm


Ejectalo. No funciona como deseamos debido a que el resultado de un prompt, siempre es una cadena de
texto.
El problema que tenemos pendiente, es cmo sumar en JavaScript?
Conversin explcita de tipos
parseFloat(cadena)
Toma la "cadena" y la transforma en un nmero en coma flotante, si es posible.
parseFloat ("123.456") = 123.456
parseFloat ("123ABC") = 123
parseFloat ("ABC") = NaN
parseInt(cadena, nmero)
Devuelve nmeros enteros, el segundo argumento nos permite escoger la base de numeracin (entre 2 y 36)
parseInt ("ABC",16) = 2748 ABC16 = 274810

20/03/2009 4:32

javascript: conversion entre tipos

2 de 4

http://www.gratiszona.com/apuntes/javascript/16_conversion_entre_tip...

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 = nmero
Devuelve una cadena que contiene el nmero
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 nmeros en JavaScript. Escribe:


<HTML>
<SCRIPT LANGUAGE="JavaScript">
//PROG012.HTM
var num1,num2;
num1=prompt("Escribe un nmero","");
num1=parseFloat(num1);
num2=prompt("Escribe otro nmero","");
num2=parseFloat(num2);
alert("La suma es ="+(num1+num2));
</SCRIPT>
</HTML>

Grbalo en TuCarpeta con el nombre Prog012.htm


Ejectalo, utilizando nmeros enteros, naturales y decimales.

A partir de este momento hemos de tener claro si los "prompts" corresponden a nmeros enteros, decimales o de
texto:
Si "x" ha de ser un nmero entero escribiremos:
x = parseInt(prompt("Escribe un nmero entero",""));
Si "x" ha de ser un nmero decimal escribiremos:
x = parseInt(prompt("Escribe un nmero entero o decimal",""));
Si "x" ha de ser una cadena de texto escribiremos:
x = prompt("Escribe el texto correspondiente","");

Escribe el siguiente programa:


<HTML>
<SCRIPT LANGUAGE="JavaScript">
// Prog012b.htm
var x,y;
x=parseInt(prompt("Escribe un entero ",""));
y=parseInt(prompt("Escribe otro entero ",""));
alert("La suma de "+ x +" + " + y +" es =" + (x+y) +"\n"+
"El producto de "+ x +" y "+ y +" = "+(x*y)+"\n"+
"El promedio de "+ x +" y "+ y +" es "+ (x+y)/2);
</SCRIPT>
</HTML>

Grbalo con el nombre Prog012b.htm, y ejectalo.

En el ejercicio Prog007.htm habamos visto una forma de convertir un nmero en base 8 o base 16 en base 10.
Pero dichos nmeros debamos de escribirlos implcitamente, es decir en el programa. Nos gustara hacer un
programa que:
Nos preguntara un nmero en base 16 (prompt)
Nos diera como resultado el nmero anterior pero en base 10
Vamos a ver si lo conseguimos:
Escribe:
<HTML>

20/03/2009 4:32

javascript: conversion entre tipos

3 de 4

http://www.gratiszona.com/apuntes/javascript/16_conversion_entre_tip...

<SCRIPT LANGUAGE="JavaScript">
// Prog012bb.htm
var m,n,x;
m=prompt("Escribe un nmero en base 16","");
n=parseInt(m,16);
alert("El nmero "+m+" en base 16, es igual a "+n+" en base 10");
</SCRIPT>
</HTML>

Grbalo con el nombre Prog012bb.htm en TuCarpeta y ejectalo para el nmero "FF32", a ver si es verdad
que nos da "65330" como resultado.
Observa el funcionamiento del programa Prog012bb.htm:
m = prompt("Escribe un nmero en base 16", "")
Lo que escribamos (un nmero en base 16), se guardar en la variable "m" como texto (ya que no hemos puesto
ningn "parseInt" ni "parseFloat").
n =parseInt(m,16)
La variable "n" guardar el nmero en base 10
Es decir: parseInt(cadena, 16), transforma la "cadena", en nuestro ejemplo un nmero escrito en base 16, en el
correspondiente nmero (no cadena) pero en base decimal.

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


Antes de todo veamos unos cuantos nmeros 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:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// Prog012bbb.htm
var m7,n7;
var m4,n4;
var m6,n6;
m7=prompt("Escribe un nmero en base 7","");
n7=parseInt(m7,7);
m4=prompt("Escribe un nmero en base 4","");
n4=parseInt(m4,4);
m6=prompt("Escribe un nmero en base 6","");
n6=parseInt(m6,6);
alert("El nmero "+m7+" en base 7, es igual a "+n7+" en base 10\n"+
"El nmero "+m4+" en base 4, es igual a "+n4+" en base 10\n"+
"El nmero "+m6+" en base 6, es igual a "+n6+" en base 10");
</SCRIPT>
</HTML>

Grbalo con el nombre Prog012bbb.htm y ejectalo, probndolo con los nmeros anteriores.

Veamos el problema inverso: dado un nmero en base 10, nos interesa convertirlo a base 7, por ejemplo.
Matemticamente:
Sea 593 un nmero en base 10

59310 = 15057 , porque:

En JavaScript deberamos hacerlo de la siguiente forma, escribe:

20/03/2009 4:32

javascript: conversion entre tipos

4 de 4

http://www.gratiszona.com/apuntes/javascript/16_conversion_entre_tip...

<HTML>
<SCRIPT LANGUAGE="JavaScript">
// Prog012bbbb.htm
var m,n;
n=parseInt(prompt("Escribe un nmero entero en base 10",""));
m=(n).toString(7);
alert("El nmero "+n+" en base 10, es igual a "+m+" en base 7");
</SCRIPT>
</HTML>
Anterior:
contadores

Siguiente:
operadores en javascript

articulos relacionados
Apartamentos en Benidorm
De 1 y 2 dormitorios. En la playa
de Levante y Poniente. Reserve ya
www.foliesvacances.com

Barcodes for Javascript


Barcodes in Javascript and AJAX.
1D and 2D symbologies, demo
online.
www.java4less.com

No Ganas Bastante Dinero?


Crea Tu Propio Negocio En Internet
Muchos Afiliados Ganan Mas De
$5000
www.CreandoNegocios.com

Candados Alta Seguridad


Mxima Resitencia - Anti Corte
Inviolables, LLaves Anti Copia
www.samo.cl

introduccion a javascript
javascript: sintaxis basica
variables en javascript
javascript: tipos de datos
javascript: contadores
javascript: conversion entre tipos
operadores logicos y relacionales en javascript
if else en javascript
bucle while en javascript
bucles for en javascript
switch case javascript
do while en javascript
calculos iterativos en javascript
el objeto math javascript. calculos
variable temporal en javascript
funciones sin retorno de parametro. javascript
funciones que devuelven parametros en javascript
arrays en javascript
matrices con varias dimensiones en javascript
codigo ascii/unicode y javascript
buscar una letra en un string con javascript
temporizadores en javascript
introduccion a javascript y html
javascript escribiendo en el navegador
formularios en javascript
botones en javascript

Actualizado: 19/01/2009

Si has encontrado esta web de tu agrado, diselo a tus amigos ! Nos ayudas a cubrir gastos si con un simple SMS
te bajas a tu movil un logo, un tono o una melodia polifonica desde:
www.gratiszona.com/descargas
www.conmovil.com

Quieres LIGAR? Enva un mensaje con la palabra LIGAR.592 al 5511 y comienza a ligar y hacer amigos. ASI DE FACIL!. OJO: no te e
Escribe al Webmaster

Sugerir web

20/03/2009 4:32

Potrebbero piacerti anche