Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Conversão Básica de Tipos | Lidando com Tipos de Dados
Fundamentos de C#

bookConversã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

main.cs

copy
1234
int 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

main.cs

copy
123456789101112131415
using 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

main.cs

copy
123456789101112131415
using 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); } } }
question mark

Quais das afirmações abaixo estão corretas?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 11

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 1.59

bookConversã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

main.cs

copy
1234
int 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

main.cs

copy
123456789101112131415
using 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

main.cs

copy
123456789101112131415
using 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); } } }
question mark

Quais das afirmações abaixo estão corretas?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 11
some-alt