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.
Top comments (0)