0Pricing
C# Academy · Aula

Tipos numéricos

int, double, decimal e outros.

Tipos numéricos é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 4 aulas no total.

Por que os tipos numéricos são importantes

O C# oferece vários tipos numéricos, cada um armazenando um intervalo diferente de valores e usando uma quantidade diferente de memória.

Escolher o tipo correto mantém seus programas corretos e eficientes. Um número inteiro, como a quantidade de usuários, cabe em um int; um preço precisa de casas decimais.

Nesta lição, você conhecerá os tipos inteiros, de ponto flutuante e decimal.

Tipos inteiros

Inteiros armazenam números inteiros, sem parte fracionária.

  • int — 32 bits, o padrão para o uso cotidiano
  • long — 64 bits, para quantidades muito grandes
  • short e byte — intervalos menores

Use int, a menos que um valor possa ultrapassar aproximadamente dois bilhões.

int age = 30;
long population = 8000000000;
Console.WriteLine(age);
Console.WriteLine(population);

Intervalos dos inteiros

Cada tipo inteiro tem valores mínimo e máximo fixos. Você pode lê-los com int.MaxValue e constantes semelhantes.

Ultrapassar o valor máximo causa um estouro, fazendo o valor voltar ao início silenciosamente.

Console.WriteLine(int.MinValue);
Console.WriteLine(int.MaxValue);
Console.WriteLine(long.MaxValue);

Ponto flutuante: double

double é um tipo de ponto flutuante de 64 bits para números reais com casas decimais.

Ele é o padrão para literais fracionários, portanto 3.14 é um double. É rápido e excelente para ciência e computação gráfica, mas armazena os valores de forma aproximada.

double pi = 3.14159;
double half = 1.0 / 2.0;
Console.WriteLine(pi);
Console.WriteLine(half);

Ponto flutuante: float

float é um tipo de ponto flutuante de 32 bits. Ele usa metade da memória de double, mas armazena menos dígitos.

Um literal float precisa do sufixo f, como em 2.5f; caso contrário, o C# trata o número como um double.

float temperature = 21.5f;
float ratio = 0.1f;
Console.WriteLine(temperature);
Console.WriteLine(ratio);

Dinheiro preciso: decimal

decimal é um tipo de 128 bits projetado para dinheiro e valores decimais exatos. Ele evita os pequenos erros de arredondamento de double.

Um literal decimal usa o sufixo m, como em 9.99m. Use-o para preços, operações bancárias e contabilidade.

decimal price = 9.99m;
decimal tax = 0.08m;
Console.WriteLine(price + price * tax);

double versus decimal

Observe como double pode produzir um resultado surpreendente, enquanto decimal permanece exato.

É por isso que o código financeiro prefere decimal, mesmo sendo mais lento que double.

double d = 0.1 + 0.2;
decimal m = 0.1m + 0.2m;
Console.WriteLine(d);
Console.WriteLine(m);

Inferência de tipo com var

A palavra-chave var permite que o compilador infira o tipo a partir do valor à direita.

A variável ainda tem um tipo fixo — var count = 5; cria um int. Os sufixos determinam o tipo dos literais fracionários.

var count = 5;
var pi = 3.14;
var price = 9.99m;
Console.WriteLine(count.GetType());
Console.WriteLine(price.GetType());

Separadores de dígitos

Para melhorar a legibilidade, você pode colocar sublinhados entre os dígitos de qualquer literal numérico. O compilador ignora os sublinhados.

Isso torna números grandes muito mais fáceis de ler rapidamente.

int million = 1_000_000;
long distance = 9_460_730_472_580_800;
Console.WriteLine(million);
Console.WriteLine(distance);

Valores especiais de double

double pode representar valores especiais: infinito positivo e negativo, além de NaN (não é um número).

Dividir por zero usando valores double produz infinito em vez de um erro, enquanto a divisão inteira por zero lança uma exceção.

double inf = 1.0 / 0.0;
double nan = 0.0 / 0.0;
Console.WriteLine(inf);
Console.WriteLine(nan);

Escolhendo o tipo correto

Um guia rápido:

  • Números inteiros → int (ou long, se forem enormes)
  • Decimais científicos ou gerais → double
  • Dinheiro e valores exatos → decimal

Escolher bem evita erros de estouro e de arredondamento.

Verificação rápida

Teste sua compreensão dos tipos numéricos.

Recapitulação

Você aprendeu os principais tipos numéricos do C#: int e long para números inteiros, double e float para números de ponto flutuante e decimal para valores monetários exatos.

Lembre-se dos sufixos dos literais: f para float, m para decimal e sublinhados para melhorar a legibilidade. Escolha os tipos equilibrando intervalo, precisão e memória.

Perguntas Frequentes

A aula “Tipos numéricos” é grátis?

Sim — o texto completo de “Tipos numéricos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 4 aulas no total.

O que vou aprender em “Tipos numéricos”?

int, double, decimal e outros. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C# Academy?

Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Tipos numéricos”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C# Academy?

Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Tipos numéricos
  2. Aritmética e precedência
  3. A classe Math
  4. Convertendo entre números
← Voltar para C# Academy