Int, Double ou Decimal em C#: qual tipo numérico usar em cada caso

Resumo rápido

  • Descubra como o C# organiza os dados na memória.
  • Entenda as diferenças técnicas entre números inteiros e decimais.
  • Aprenda a escolher o tipo correto para cada situação real.
  • Veja exemplos práticos de contadores a cálculos bancários.

Quando estamos começando a programar em C#, uma das primeiras dúvidas que surgem é: por que existem tantos tipos diferentes para representar números? Se o computador entende números, por que não usar um só para tudo? A resposta curta é: eficiência e precisão.

A gente vai desmistificar como cada tipo lida com a memória e por que usar um double onde deveria ser um decimal pode causar dores de cabeça no futuro. Vamos aprender a escolher a ferramenta certa para cada tarefa, garantindo que nosso código seja robusto e confiável.

O que você vai precisar

  • Ter o ambiente .NET instalado
  • Noções básicas de variáveis em C#

O que são tipos de dados e por que isso importa?

Pense na memória do seu computador como um conjunto de caixas de tamanhos diferentes. Quando declaramos uma variável, estamos reservando uma dessas caixas. Se a gente coloca um número pequeno em uma caixa gigante, estamos desperdiçando espaço. Se tentamos colocar algo maior que a caixa, o programa trava ou corta o dado.

Escolher o tipo certo é o equilíbrio entre economizar memória e garantir que o número caiba lá dentro sem perder informações. Para iniciantes, isso é fundamental para evitar bugs estranhos onde o resultado de uma soma parece, por algum motivo, incorreto.

Conhecendo os tipos numéricos: int, float, double e decimal

Cada tipo possui um tamanho fixo em bytes. O int é o rei para contagens simples, enquanto os outros lidam com números quebrados (ponto flutuante) de formas distintas. O decimal, em especial, é o mais preciso de todos para dinheiro.

Tabela de tipos numéricos

TipoTamanhoUso principal
int4 bytesNúmeros inteiros
float4 bytesPrecisão simples
double8 bytesPrecisão dupla
decimal16 bytesCálculos financeiros

Como escolher o tipo certo: a regra de ouro

Para decidir rápido, a gente faz um pequeno fluxograma mental. O número é inteiro? Use int. O número é decimal e envolve dinheiro? Use decimal obrigatoriamente. É para cálculos científicos ou algo que não exija precisão absoluta? double serve bem.

Lembre-se: nunca use tipos decimais para contadores, pois você desperdiça processamento, e nunca use float ou double para calcular saldo de banco, pois eles acumulam erros de arredondamento imperceptíveis que somam centavos errados ao final do mês.

Exemplos resolvidos: do contador ao sistema bancário

Vamos ver na prática como declarar essas variáveis. O decimal requer o sufixo 'm' para identificar o valor corretamente no código.

csharp

int cliques = 150;
double temperatura = 23.5;
decimal saldo = 1250.75m;

Console.WriteLine($"Cliques: {cliques}");
Console.WriteLine($"Temp: {temperatura}");
Console.WriteLine($"Saldo: {saldo}");

Saída esperada

Cliques: 150
Temp: 23.5
Saldo: 1250.75

Erros comuns que todo iniciante comete

O erro mais clássico é o 'erro de ponto flutuante'. Quando você faz 0.1 + 0.2 usando double, o resultado não é exatamente 0.3, mas algo como 0.30000000000000004. Para um programa de física, tudo bem. Para um banco, isso é um desastre.

Outro erro é tentar guardar um número maior que 2 bilhões em um int. Isso causa um estouro (overflow), e o número vira um negativo bizarro. Sempre valide se o valor esperado pode crescer além desse limite.

Sempre use 'm' ao final de valores decimais, ex: 10.50m.

Exercícios para praticar

  1. Qual tipo você escolheria para armazenar a idade de uma pessoa?

    Ver resposta

    O tipo ideal é o int. A idade é sempre um número inteiro e não precisa de casas decimais para ser representada.

  2. Você está criando um app de investimentos. Qual tipo usar para o preço de uma ação?

    Ver resposta

    Você deve usar o decimal. Como envolve dinheiro, a precisão absoluta é obrigatória para evitar erros de arredondamento comuns em double.

  3. E para a velocidade de um objeto em um jogo, qual seria o mais indicado?

    Ver resposta

    O float ou double. Em jogos, a performance é prioridade e pequenas variações na precisão raramente impactam o jogador, fazendo o float ser muito usado por ocupar menos memória que o double.

Perguntas frequentes

Posso usar int para dinheiro?

Não é recomendável. Você teria que trabalhar em centavos e converter na hora de exibir, o que torna o código complexo e propenso a erros.

Por que o decimal é mais lento?

Porque ele é um tipo mais robusto, processado via software para garantir precisão decimal exata, diferentemente do double que é processado diretamente pelo hardware (CPU).

O que acontece se eu colocar um número muito grande em um int?

Ocorre um erro de estouro de memória, fazendo o valor 'dar a volta' e se tornar um número negativo.

Conclusão

Dominar os tipos de dados é o primeiro passo para escrever sistemas profissionais. Agora que você sabe a diferença entre eles, não tenha medo de testar e observar como cada um se comporta em seus projetos. Pratique essa escolha consciente e seu código agradecerá!

Atualizado em 28/09/2026.

Curtiu desvendar esse universo? Conta pra gente nos comentários o que mais você quer aprender sobre redes e compartilhe com seus amigos que estão começando na TI!

Comentários

Postagens mais visitadas deste blog

Endereço MAC: Desvendando a Identidade Única de Seus Aparelhos

Dominando Redes: Como Calcular Máscaras e Hosts na Prática

Topologias de Rede: Conheça os Tipos Essenciais