You are on page 1of 7

Conversin de Tipos de Datos

Veamos fugazmente lo que es la conversin de tipos. Empezando con el tema, la conversin de tipos consiste en pasar un tipo de dato a otro para poder realizar cierto uso de este segn lo necesitemos. Veamos la conversin de una cadena a un entero y flotante String Letras="10"; Float.parseFloat(Letras); Integer.parseInt(Letras); Como pueden ver para pasar a tipo float se usa la clase Float con el mtodo parseFloat y luego le pasamos el dato. Para el tipo entero sera similar con la clase Integer --> -->

Ojo: Demos tener cuidado al convertir tipos ya que en este caso se puede convertir a tipos numricos porque la cadena tiene las caractersticas de un nmero, si tendramos Palabra x como cadena en lugar de 10 surgira un error ya que no se puede convertir a nmero Palabra x porque tal nmero no existe. Ahora veamos de un tipo entero a una cadena y real. int Numero=7; String auxNumero; auxNumero=String.valueOf(Numero); Float.parseFloat(auxNumero); Para la conversin a cadena slo usamos la clase String con su mtodo valueOf y luego le pasamos el dato. Ahora veamos la diferencia en la conversin del tipo entero al float. Podemos ver que hacemos uso de la cadena y no directamente del numero por qu? Simplemente porque las convesiones en las clases Integer y float entre otros slo aceptan tipos String por lo cual es necesario para convertir un entero a un real o viceversa pasarlo primero a una cadena Ahora qu de lo float. veamos float NumeroReal=5.2f; String auxNumeroReal; int auxN; auxNumeroReal=String.valueOf(NumeroReal); auxN=(int) NumeroReal; Como vemos para convertir a tipo String no presenta ningn problema, pero si quisiramos pasar a entero surgira erro as lo pasemos primero a cadena porque el

valor es 5.2 y ese dato no se puede pasar a entero, entonces que es lo que hacemos, realizamos una conversin directa sacndole slo la parte entera en este caso obteniendo slo el 5 del valor real que es 5.2

Conversiones en Java
Entero (int) a cadena (String): String myString = Integer.toString(my int value) Cadena (String) a entero (int): int i = Integer.parseInt(str); int i = Integer.valueOf(str).intValue(); Double a cadena (String): String str = Double.toString(i); Long a cadena (String): String str = Long.toString(l); Float a cadena (String) String str = Float.toString(f); Cadena (String) a Double: double d = Double.valueOf(str).doubleValue(); Cadena (String) a Long: long l = Long.valueOf(str).longValue(); long l = Long.parseLong(str); Cadena (String) a Float: float f = Float.valueOf(str).floatValue(); Decimal a Binario: int i = 42; String binstr = Integer.toBinaryString(i); Decimal a hexadecimal : int i = 42; String hexstr = Integer.toString(i, 16); tambin: String hexstr = Integer.toHexString(i);

Cdigo ASCII a Cadena (String): int i = 64; String aChar = new Character((char)i).toString(); Entero a Cdigo ASCII: char c = 'A'; int i = (int) c; // i will have the value 65 decimal Entero a Booleano b = (i != 0); Booleano a Entero: i = (b)?1:0; About these ads
UNIDAD I JAVA ELEMENTOS BASICOS 7.- JAVA OPERADOR CAST y CONVERSIONES En java se puede forzar un dato, variable o una expresin a convertirse o cambiarse a un nuevo tipo de dato. El operador cast realiza este proceso, es decir convierte datos, variables o expresiones a un nuevo tipo de dato, su formato es: (nvotipo) dato , var, exp; Ejemplo:

// declaracin

int alfa;

// Asignacin

alfa = 20;

// Cambio de tipo

(float) alfa;

Ejemplo:

(int) 3.1416;

* en este ejemplo se est convirtiendo un float a int, recordar que en este caso ya no se tendrn los decimales. * Como nota importante se puede hacer cast solo con tipos de datos, no entre tipos de datos y objetos de una clase numerica. Como nota importante este operador resuelve los dos problemas pendientes: - El de la divisin entre enteros. - El tipo de dato especifico que requieren las funciones. Ejemplos:

a) // Declaracin

float alfa;

// Operacin

alfa = (float)23/5;

// Pero en estos casos es preferible

alfa=23/5.0;

En toda divisin recordar agregar a uno de los dos valores el (.0), solo que los dos elementos sean variables entonces usar el operador cast con una de ellas.

// Declaracin

double potencia;

// Operacin

potencia = Math.pow ( (double)5, (double)3);

Como se observa en el ejemplo, se puede usar pow(), directamente con los datos, argumentos o parmetros requeridos , si estos son numricos, pero transformndolos con el operador cast. Esto tambin va a permitir evaluar expresiones matemticas de manera mas directa y sencilla, solo recordando usar un pow() por cada potencia y cada raz de la ecuacin, ejemplo: sea dentro de un programa esto se resuelve con;

// rea de declaracin de variables

double y, x;

// rea de captura de datos

capturar el valor de x;

// rea de operaciones

y = 3 * Math.pow(x, (double)2));

(double)3)

Math.pow(x,

(1/3.0))

Math.pow(x,

// rea de despliegue de resultados

desplegar x, y

En java jsp y java servlets para convertir tipos de datos numericos a objetos numericos y viseversa se deberan usar los metodos que traen las clase numericas de manera apropiada, en general existen tres casos generales difrentes, considerando datos o variables numericas, objetos numericos y strings que es un caso especial y comun: a.1) Variable numerica a variable numerica Usar el operador cast ejemplo: var to var int alfa1=10; double alfa2=3.1416; alfa1= (int)alfa2; J observar que valores decimales deben declararse como doubles a.2) variable numerica a string ejemplo; var to string int zeta=50; String alfa= String.valueOf(zeta); a.3) variable numerica a objeto numerico caso 1: usando constructor int zeta=80; Float alfa4 = new Float(zeta); caso 2: ya existe el objeto numerico Double alfa5 = new Double(0); Int zeta=30; alfa5=Double.valueOf(String.valueOf(zeta)); b.1) Objeto Numerico a Variable numerica todos los objetos numericos deben crearse inicializados aunque sea a (0) Integer alfa = new Integer(300); Int zeta = alfa.intValue(); b.2) Objeto numerico a String Float alfa = new Float(3.45); String beta = new String( );

Beta = alfa.toString(); B.3) Objeto Numerico a Objeto Numerico Integer alfa=new Integer(50); Double beta=new Double(0); beta = beta.valueOf(alfa.toString()); c.1) String to variable numerica String alfa= new String(3.5); double beta= 0; beta= Double.parseDouble(alfa); c.2) String to Objeto Numerico String alfa8=new String(50); Double alfa9=new Double(0); alfa9 = alfa9.valueOf(alfa8);

You might also like