En el mundo de la programación es esencial saber trabajar con los tipos de datos, y saber como convertir tipos de datos, ya que en la mayoría de los caso tendremos que convertir un tipo de dato a otro, ya sea para realizar operaciones aritméticas, concatenar cadenas, redondear números, etc.
En estos casos tendremos que hacer uso de una técnica llamada parseo (parsing en ingles), también conocido como casting, la cual nos permite convertir un tipo de dato en otro, siempre y cuando cumpla con ciertos requisitos.
Cada lenguaje de programación tiene sus métodos para realizar la conversión de tipo, en C#( C Sharp), tenemos la Clase Convert.
Esta clase contiene los métodos necesarios para convertir a casi todos los tipos de datos existentes en C#.
Las siguientes variables contienen números, pero no todas son tipo numérico, por lo tanto si quiero realizar una suma, solo las 3 primeras pueden ser utilizadas, las otras 3 deben ser convertidas a otro tipo de dato numérico, como pueden ser interger(int), double, o float.
int numero = 56; // variable tipo entero double flotanteLargo = 56.77878; // variable tipo flotante largo float flotante = 2.9f; // variable tipo flotante corto char caracter = '9'; // Variable tipo carácter string cadena = "56"; // Variable tipo cadena object objeto = 45.25;
Para convertirlas usaremos la clase convert mencionada anteriormente.
int n_cadena; n_cadena = Convert.ToInt32(cadena); double n_caracter; n_caracter = Convert.ToDouble(caracter); double n_objeto; n_objeto = Convert.ToDouble(objeto);
Las Conversiones pueden ser implícitas o explicitas
Conversiones implícitas: no se requiere una sintaxis especial porque la conversión se realiza con seguridad de tipos y no se perderán datos.
por ejemplo de un entero a un flotante o double
int numero = 90; // numero contiene el valor 90 double n_numero; //se declara una variable de tipo double n_numero = numero; //se le asigna el valor de numero a n_numero, realizamos la conversion de int a double //numero tiene como valor 90 //n_numero tiene como valor 90.0
también en el caso de que el tipo de datos sea Object, puede ser convertido implícitamente a otro tipo de la siguiente forma
float flota = (float)objeto; int n_entero = (int)objeto; char n_char = (char)objeto; string n_object = (string)objeto; double n_doble = (double)objeto;
Conversiones explícitas (conversiones de tipos): las conversiones explícitas requieren un operador de conversión. se utilizan cuando es posible la perdida de información.
En este caso nos auxiliamos de Clases y metodos
Cada tipo de dato tiene una clase que posee un método llamado parse este convierte al tipo de dato desde un string
string cadena = "5"; float flota = float.Parse(cadena); int n_entero = int.Parse(cadena); char n_char = char.Parse(cadena); double n_doble = double.Parse(cadena);
si necesitas convertir cualquier tipo a String(cadena) solo tienes que llamar el metodo .ToString() de la siguiente forma
float flota = 45.9f; string n_string = flota.ToString();
Si conoces otras forma de convertir de un tipo de dato a otro te animo a comentar.
no te olvides de compartir 🙂
Excelente líder , Las limitaciones viven solo en nuestras mentes, pero si usamos nuestra imaginación, nuestras posibilidades son ilimitadas.- Jamie Paolinetti.
Asi es Lider!!