ExpertiDict

C# · Essencial · Inglês · Técnico

decimal

/ˈdɛsəməl/substantivo

Tipo numérico de 128 bits com base 10, de alta precisão decimal. É o indicado para valores monetários porque representa 0,1 exatamente, ao contrário de float e double.

Onde usar

Aparece em código financeiro, com literais com sufixo m, como 19.90m. É mais lento que double e usa mais memória, mas evita erros de arredondamento em somas de dinheiro.

Em código

double d = 0.1 + 0.2;
decimal m = 0.1m + 0.2m;
Console.WriteLine(d == 0.3);  // False
Console.WriteLine(m == 0.3m); // True

Exemplos

Use decimal for money, never double.

Use decimal para dinheiro, nunca double.

Don't forget the m suffix on the literal.

Não esqueça o sufixo m no literal.

Cuidado

Não esqueça o sufixo m: o literal 0.1 é double e não compila numa atribuição a decimal. Também não misture decimal com double sem conversão explícita.

Antônimos

double

Veja também

Todos os termos de C#