Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Problemas com arredondamento do Big Decimal

$
0
0

@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

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>