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ê 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.