Entendeu por causa das casas decimais em um relatorio ele me passa um valor em outro é outro valor… É algo com as casas decimais, qual a melhor forma de solucionar, uso um banco em ORACLE, andei vendo o BIGDECIMAL… QUAL A MELHOR MANEIRA…??
hummm…
até pode…
mas pra ter certeza, não fique misturando as cosias manipulando formatos de um lado para outro…
leia tudo como String por exemplo, converta para double com Double.parseDouble, faça as contas, TODAS ELAS, e depois jogue o resultado para o ireport
Cara, me explica isso?! É que não consigo entender porque, já que as contas usam apenas duas casas decimais, a precisão ficaria prejudicada ao se usar double…
Este assunto já foi tema de uma edição da revista MundoJava.
Sempre que formos trabalhar com valores monetários em Java devemos usar a classe java.math.BigDecimal. Os métodos desta classe manipulam os valores como o bom e velho Cobol, usando lógica decimal (lógica humana). A classe java.lang.Double e seu primitivo manipula os valores usando lógica de ponto flutuante e assim gera erros de precisão durante os cálculos decimais.