Porcentagem - sem casas decimais

2 respostas
heatcold
double percent[] = {0.05, 0.06, 0.06, 0.06, 0.03, 0.06, 0.05, 0.02, 0.01, 0.6};
long balance = 155839888;
long aux = 0;

for (int i=0; i<percent.length; i++) {
    aux += Math.round(balance * percent[i]);
}

Resultado:
aux = 155839887.

Está faltando 1. Como resolver?

2 Respostas

kenneth

Fala brow,

Faltando um o que?

Abraco

heatcold

no aux. esta faltando uma unidade.

a soma de todas as porcentagens da 1.

consequentemente a soma do valor total (155839888) multiplicado por cada uma das porcentagens deveria dar o valor total,
mas existe um erro de arredondamento.

o resultado esta dando 155839887

155839888 - 155839887 = 1

Criado 10 de maio de 2011
Ultima resposta 10 de mai. de 2011
Respostas 2
Participantes 2