Convertir tipos de datos

En java existen varias maneras de convertir un tipo de dato a otro, esto se usa según el programador lo necesite en su programa, voy a mencionar dos formas de hacer la conversión de datos.

 

1.- Por métodos parseadores del tipo de dato: Este método es muy común para los tipos de datos numéricos, cuando una cadena que contiene sólo números se quiere convertir a un tipo numérico se debe usar este método, por ejemplo:

 

String cadena="123";

int x=Integer.parseInt(cadena);

 

En éste caso estamos convirtiendo una cadena que contiene el valor "123" a un número y se lo asignamos a nuestra variable x, tener en cuenta que se utiliza el parseador para cadenas que contiene solo carácteres numéricos, si contiene alguna letra arrojará un error.

 

Mismo método para los tipos de datos float, double.

String cadena2="123.45f";

float y=Float.parseFloat(cadena2);

 

String cadena3="99.9999";

double z=Double.parseDouble(cadena3);

 

En ambos casos las cadenas se convierten al tipo numérico indicado.

 

Para convertir un número en una cadena simplemente se puede concatenar el número a una cadena vacía, esto es:

 

String cadena=""+123;

 

También se puede hacer uso del método cadena= String.valueOf(tipoDato);

 

Donde tipoDato puede ser un número u otro tipo de dato que se puede convertir a cadena.

 

 

El segundo método para convertir los tipos de datos es mediante un forzamiento de tipo. El forzamiento de tipo es una forma más rápida de convertir un tipo de datos a otro, pero solo funciona para los tipos de datos que tienen semejanza entre sí, por ejemplo numéricos con numéricos, cadenas con algun objeto que se pueda convertir a cadena, etc.

 

Nunca se podrá convertir una cadena a entero por este medio ó viceversa.

 

Esta forma de hacerlo es muy sencillo, solo se tiene que poner paréntesis antes del tipo de dato original, y entre los paréntesis hay que indicar el tipo de dato a convertir, ejemplo:

 

float num=33.33f;
int x=(int)num;

//En este caso x se le asigna 33.

 

double num=5.9999;

float y=(float)num;

 

Es incorrecto querer hacer:

 

int numero=100;
String cadena=(String)numero;

ó

String cadena2="100";
int numero2=(int)cadena2;