DEV Community

Vitor Norton
Vitor Norton

Posted on

Como dividir inteiros no C#?

Pergunta básica que recebo sempre que eu vou explicar operadores matemáticos em C#, como fazer para dividir números inteiros? Isso pois mesmo ao dividir 5 por 2 vai resultar em 2 e não 2.5, mesmo que a variável seja double.

int numero = 5;
int divisor = 2;
decimal resultado = numero / divisor; 

Console.WriteLine("O resultado é: " + resultado);
// O resultado é: 2
// O correto seria o resultado ser 2.5
Enter fullscreen mode Exit fullscreen mode

Por algum motivo bizarro o C# não faz a conta direito se tiver um número inteiro nela. Portanto você precsia converter estes números para decimal para conseguir fazer a conta.

Então poderia fazer algo como decimal.Parse(numero) / decimal.Parse(divisor). Outra maneira é fazer da seguinte forma:decimal resultado = Decimal.Divide(numero, divisor);

Existe também o Double.Divide() e o double.parse() caso você não esteja utilizando o tipo decimal.

Essa função .Divide() vai basicamente fazer o seguinte: decimal.Parse(a) + decimal.Parse(b) que é converter cada item para decimal para então te trazer um valor com casas decimais.

Top comments (0)