@VVelasco escreveu:
Eu possuo o seguinte código
Random gerador = new Random(); double dado = gerador.nextInt(6) + 1; dado = dado/1000 %.3f; double dado2 = gerador.nextInt(6) + 1; dado2 = dado2/1000 %.3f; double valorTotalJ1 = Jogo.jogadores.get(i).getTotalPontos(); double valorTotalJ2 = Jogo.jogadores.get(j).getTotalPontos(); BigDecimal dadojogador1 = new BigDecimal(dado); BigDecimal dadojogador2 = new BigDecimal(dado2); totalJogador1 = dadojogador1.add(totalJogador1).setScale(3, RoundingMode.DOWN); totalJogador2 = dadojogador2.add(totalJogador2).setScale(3, RoundingMode.DOWN);
O problema é que esse valor não pode ser de jeito nenhum arredondado por uma regra de negócio, por exemplo, se o resultado do dado1 for 0.006 e o total do jogador 31.15 a soma tem que ser exatamente 31.156 e eu não consigo fazer isso de jeito nenhum, se eu desligar o rounding o java retorna o erro aritmético, alguém tem alguma ideia de como fazer isso?
Mensagens: 5
Participantes: 4