Help BigDecimal

Pessoal tenho o seguinte codigo

BigDecimal valorTotal = new BigDecimal(0); valorTotal.setScale(12, 2); for(TbOperacaoMovimentacaoPendencia opPendencia : tbOperacaoMovimentacaoPendenciaList){ opPendencia.getVlOperacaoPendencia().setScale(2, RoundingMode.HALF_UP); BigDecimal valorAtual = valorTotal; valorTotal = valorAtual.add(opPendencia.getVlOperacaoPendencia()); } Double valorFinal = valorTotal.doubleValue(); jlbValorNumericoMovimentacao.setText(valorFinal.toString());

agora tenho uma duvida imagine q o valor q esta no obPendencia.getVlOperacaoPendencia() e = a 15.22

qdo tem um item ele mostra 15.22
qdo tem 2 itens ele mostra 30.44
pq qdo tem 3 itens ele mostra 45.66000000000…
qdo tem 4 itens ele mostra 60.88
qdo tem 5 itens ele mostra 76.10000000000000…

pq ele faz isso?? como eu sempre deixo um numero com 2 casas decimais??

obrigado

Tenta isso:

formato = new DecimalFormat("0.00");
s = formato.format(-.567);

Acho que é isso que vc quer…

double valor = 15.22 * 3;

BigDecimal s = new BigDecimal(valor);

s.setScale(2, BigDecimal.ROUND_DOWN));