Conversão Básica de Tipos
Conversão de Tipos é o processo de transformar um valor de um tipo de dado para outro. Isso geralmente é possível entre tipos que representam números. Por exemplo, é possível converter um float
para um int
e vice-versa. No entanto, converter uma string
diretamente para um int
não faz sentido lógico e não é possível sem etapas adicionais.
Existem dois tipos de conversão de tipos: conversão implícita e conversão explícita.
Conversão implícita ocorre automaticamente quando um valor é convertido de um tipo para outro, geralmente de um tipo de dado menor para um maior.
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
A conversão implícita acontece automaticamente quando um tipo de dado menor é convertido para um maior. O tamanho de um tipo de dado é determinado pela quantidade de dados que pode armazenar, medida em bits. Por exemplo, um int
pode armazenar 32 bits, enquanto um long
pode armazenar 64 bits, então converter um int
para um long
ocorre automaticamente. Da mesma forma, um float
pode ser convertido para um double
sem problemas.
Aqui está uma lista de tipos de dados ordenados do menor para o maior:
char
-> int
-> long
-> float
-> double
Conversão explícita é quando você, como programador, instrui o computador a converter um valor para outro tipo de dado. Isso é necessário ao converter de um tipo de dado maior para um menor, pois alguns dados podem ser perdidos. Por exemplo, ao converter o float 3.14
para um inteiro, o resultado é 3
, perdendo a parte decimal. Por isso, é necessário informar explicitamente ao computador para realizar esse tipo de conversão.
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 corrigir o erro no código acima, é necessário converter explicitamente val1
para um valor inteiro.
A sintaxe de uma conversão é (datatype) value
, por exemplo, (int) 3.1415
. Portanto, neste caso, escrevemos (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); } } }
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 1.59
Conversão Básica de Tipos
Deslize para mostrar o menu
Conversão de Tipos é o processo de transformar um valor de um tipo de dado para outro. Isso geralmente é possível entre tipos que representam números. Por exemplo, é possível converter um float
para um int
e vice-versa. No entanto, converter uma string
diretamente para um int
não faz sentido lógico e não é possível sem etapas adicionais.
Existem dois tipos de conversão de tipos: conversão implícita e conversão explícita.
Conversão implícita ocorre automaticamente quando um valor é convertido de um tipo para outro, geralmente de um tipo de dado menor para um maior.
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
A conversão implícita acontece automaticamente quando um tipo de dado menor é convertido para um maior. O tamanho de um tipo de dado é determinado pela quantidade de dados que pode armazenar, medida em bits. Por exemplo, um int
pode armazenar 32 bits, enquanto um long
pode armazenar 64 bits, então converter um int
para um long
ocorre automaticamente. Da mesma forma, um float
pode ser convertido para um double
sem problemas.
Aqui está uma lista de tipos de dados ordenados do menor para o maior:
char
-> int
-> long
-> float
-> double
Conversão explícita é quando você, como programador, instrui o computador a converter um valor para outro tipo de dado. Isso é necessário ao converter de um tipo de dado maior para um menor, pois alguns dados podem ser perdidos. Por exemplo, ao converter o float 3.14
para um inteiro, o resultado é 3
, perdendo a parte decimal. Por isso, é necessário informar explicitamente ao computador para realizar esse tipo de conversão.
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 corrigir o erro no código acima, é necessário converter explicitamente val1
para um valor inteiro.
A sintaxe de uma conversão é (datatype) value
, por exemplo, (int) 3.1415
. Portanto, neste caso, escrevemos (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); } } }
Obrigado pelo seu feedback!