Eu estou criando um relatório no ireport, e preciso tirar a porcentagem de um determinado valor, e fiz da seguinte forma: criei uma variável e adicionei a seguinte expressão [ (($F{COMISSAO}.divide($F{BASE_CALC})).multiply(new java.math.BigDecimal(100))) ], mas me da o um errro : “Non-terminating decimal expansion; no exact representable decimal result.”.
Já tentei varias coisas, mais ainda não achei o erro e nem imagino oque poderia ser. Se alguém puder me ajudar ficarei muita grata
.
Obrigada!
Tenta ai divide($F{BASE_CALC}, 2, BigDecimal.ROUND_HALF_UP)
Sua divisão está gerando uma dízima periódica, terá de ajustar como o @Bruno_Macedo orientou:
numero1(numero2, numeroDeCasasDecimais, RoundingMode.ROUND_HALF_UP)
da um erro pior ainda : RoundingMode.ROUND_HALF_UP cannot be resolved
value = (java.math.BigDecimal)(((((java.math.BigDecimal)field_COMISSAO.getValue()).divide(((java.math.BigDecimal)field_BASE_CALC.getValue()),2, RoundingMode.ROUND_HALF_UP)).multiply(new java.math.BigDecimal(100)))); //$JR_EXPR_ID=23$
Eu consegui resolver pelo Select, criei outra fields, e deu certo. Muito pela colaboração! 
@Bruno_Macedo e @staroski
Só pra ficar claro o que aconteceu, faltou o pacote ai na sua declaração, RoundingMode,ROUND_HALF_UP
teria que colocar java.math.RoundingMode.ROUND_HALF_UP ou usar a classe BigDecimal mesmo, java.math.BigDecimal.ROUND_HALF_UP
Isso não é “pior ainda”. 
Só esqueceu um import.