white and black laptop computer

Como dividir inteiros no C#?

para devs, Techagosto 25, 2022

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

Por algum motivo bizarro o C# não faz a conta direito se tiver um número inteiro nela. Portanto você precisa 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.