Olá,
Tentei escrever o método somando o rendimento anual mês a mês e os resultados foram diferentes. Procurei uma forma de visualizar o cálculo mensal e cheguei no código abaixo:
public double CalculaRendimentoAnual()
{
double saldoMesAtual = this.saldo;
double saldoNaqueleMes = this.saldo;
double rendimentoAnual = 0;
for(int i = 1; i <= 12; i++)
{
rendimentoAnual += saldoMesAtual * 0.007;
saldoMesAtual += rendimentoAnual;
saldoNaqueleMes = saldoNaqueleMes * 1.007;
Console.Out.WriteLine(saldoNaqueleMes - this.saldo);
Console.Out.WriteLine(rendimentoAnual);
}
double rendimento = saldoNaqueleMes - this.saldo;
return rendimentoAnual;
}
Alguém saberia me informar porque o C# arredonda os valores diferentemente para cada método? Seguem os resultados para os 3 primeiros meses:
16,0999999999999 16,1 32,3126999999995 32,3127 48,6388888999991 48,7515889
Obrigado pela ajuda,
Gustavo Fonseca