Trabalhar com tipos de dados numéricos
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.