Trabalho com tipos de dados numéricos

Concluído

Sugestão

Consulte a guia Texto e imagens para obter mais detalhes!

Cada valor em C# tem um tipo de dado. Para números, C# fornece vários tipos dependendo se precisa de números inteiros, decimais ou uma gama mais ampla de valores. Escolher o tipo certo ajuda-o a escrever cálculos precisos.

Tipos numéricos comuns

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

Observação

Quando se escreve um literal decimal, o C# assume, por defeito, que é um double. Para criar um decimal literal, adicione a letra m no final: 19.99m.

Declaração de variáveis numéricas

Tal como aprendeste antes, declaras uma variável especificando o 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. Isto significa que, uma vez declarada uma variável como um certo tipo, ela só pode manter esse tipo de valor:

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

Isto pode parecer rigoroso, mas ajuda a detetar erros cedo e torna o seu código mais previsível.

Porque é que o tipo é importante

O tipo de dados afeta a forma como C# realiza os 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, C# realiza a divisão de inteiros e elimina a parte decimal. Para manter a precisão decimal, precisas de usar um tipo decimal. Aprenderás a converter entre tipos numa secção posterior.