Trabalhar com tipos de dados numéricos

Concluído(a)

Dica

Consulte a guia Texto e imagens para obter mais detalhes!

Cada valor em C# tem um tipo de dados. Para números, o C# fornece vários tipos dependendo se você precisa de números inteiros, decimais ou um intervalo maior de valores. Escolher o tipo certo ajuda você a escrever cálculos precisos.

Tipos numéricos comuns

Nome do Tipo Palavra-chave C# Descrição Exemplo
Número inteiro int Números inteiros (positivos ou negativos) 42, -7, 1000
Decimal decimal Números decimais precisos, ótimos para o dinheiro 19.99m, 3.14m
Double double Números decimais maiores, comuns para cálculos 3.14, 2.71828

Note

Quando você escreve um literal decimal, o C# assume que ele é um double por padrão. Para criar um decimal literal, adicione a letra m no final: 19.99m.

Declarando variáveis numéricas

Assim como você aprendeu antes, você declara uma variável especificando seu tipo:

int score = 95;
decimal price = 19.99m;
double average = 87.5;

C# é fortemente tipado

Ao contrário de algumas outras linguagens, C# é uma linguagem fortemente tipada. Isso significa que, depois de declarar uma variável como um determinado tipo, ela só poderá conter esse tipo de valor:

int count = 10;
count = "ten";     // ERROR! Can't assign a string to an int

Isso pode parecer estrito, mas ajuda a detectar erros cedo e torna seu código mais previsível.

Por que o tipo importa

O tipo de dados afeta como o C# executa cálculos:

int a = 7;
int b = 2;
Console.WriteLine(a / b);        // Output: 3 (integer division truncates)

decimal c = 7m;
decimal d = 2m;
Console.WriteLine(c / d);        // Output: 3.5 (keeps the decimal)

Quando ambos os valores são inteiros, O C# executa a divisão de inteiros e descarta a parte decimal. Para manter a precisão decimal, é necessário usar um tipo decimal. Você aprenderá a converter entre tipos em uma seção posterior.