Conversión Básica de Tipos
La conversión de tipos es el proceso de convertir un valor de un tipo de dato a otro. Esto suele ser posible entre tipos que representan números. Por ejemplo, se puede convertir un float
a un int
y viceversa. Sin embargo, convertir directamente un string
a un int
no tiene sentido lógico y no es posible sin pasos adicionales.
Existen dos tipos de conversión de tipos: conversión implícita de tipos y conversión explícita de tipos.
La conversión implícita de tipos ocurre automáticamente cuando un valor se convierte de un tipo a otro, generalmente de un tipo de dato más pequeño a uno más grande.
main.cs
1234int val1 = 10; long val2 = val1; // int is automatically converted to long float val3 = var1; // int is automatically converted to float double var4 = var1; // int is automatically converted to double
La conversión implícita de tipos ocurre automáticamente cuando un tipo de dato más pequeño se convierte en uno más grande. El tamaño de un tipo de dato se determina por la cantidad de datos que puede almacenar, medido en bits. Por ejemplo, un int
puede almacenar 32 bits, mientras que un long
puede almacenar 64 bits, por lo que convertir un int
a un long
ocurre automáticamente. De manera similar, un float
puede convertirse en un double
sin ningún problema.
Aquí tienes una lista de tipos de datos ordenados de menor a mayor:
char
-> int
-> long
-> float
-> double
La conversión explícita de tipos es cuando el programador indica al ordenador que convierta un valor a un tipo de dato diferente. Esto es necesario al convertir de un tipo de dato más grande a uno más pequeño porque se puede perder información. Por ejemplo, convertir el float 3.14
a un entero da como resultado 3
, perdiendo la parte decimal. Por eso es necesario indicar explícitamente al ordenador que realice este tipo de conversiones.
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = val1; // Error: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?) Console.WriteLine(val1); Console.WriteLine(val2); } } }
Para corregir el error en el código anterior, es necesario convertir explícitamente val1
a un valor entero.
La sintaxis de una conversión es (datatype) value
, por ejemplo (int) 3.1415
. Así que en este caso escribiremos (int) val1
:
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = (int) val1; Console.WriteLine(val1); Console.WriteLine(val2); } } }
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 1.59
Conversión Básica de Tipos
Desliza para mostrar el menú
La conversión de tipos es el proceso de convertir un valor de un tipo de dato a otro. Esto suele ser posible entre tipos que representan números. Por ejemplo, se puede convertir un float
a un int
y viceversa. Sin embargo, convertir directamente un string
a un int
no tiene sentido lógico y no es posible sin pasos adicionales.
Existen dos tipos de conversión de tipos: conversión implícita de tipos y conversión explícita de tipos.
La conversión implícita de tipos ocurre automáticamente cuando un valor se convierte de un tipo a otro, generalmente de un tipo de dato más pequeño a uno más grande.
main.cs
1234int val1 = 10; long val2 = val1; // int is automatically converted to long float val3 = var1; // int is automatically converted to float double var4 = var1; // int is automatically converted to double
La conversión implícita de tipos ocurre automáticamente cuando un tipo de dato más pequeño se convierte en uno más grande. El tamaño de un tipo de dato se determina por la cantidad de datos que puede almacenar, medido en bits. Por ejemplo, un int
puede almacenar 32 bits, mientras que un long
puede almacenar 64 bits, por lo que convertir un int
a un long
ocurre automáticamente. De manera similar, un float
puede convertirse en un double
sin ningún problema.
Aquí tienes una lista de tipos de datos ordenados de menor a mayor:
char
-> int
-> long
-> float
-> double
La conversión explícita de tipos es cuando el programador indica al ordenador que convierta un valor a un tipo de dato diferente. Esto es necesario al convertir de un tipo de dato más grande a uno más pequeño porque se puede perder información. Por ejemplo, convertir el float 3.14
a un entero da como resultado 3
, perdiendo la parte decimal. Por eso es necesario indicar explícitamente al ordenador que realice este tipo de conversiones.
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = val1; // Error: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?) Console.WriteLine(val1); Console.WriteLine(val2); } } }
Para corregir el error en el código anterior, es necesario convertir explícitamente val1
a un valor entero.
La sintaxis de una conversión es (datatype) value
, por ejemplo (int) 3.1415
. Así que en este caso escribiremos (int) val1
:
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = (int) val1; Console.WriteLine(val1); Console.WriteLine(val2); } } }
¡Gracias por tus comentarios!