BigDecimal + Integer

Bom dia!

Pessoal, desculpe pela pergunta cretina, mas aí vai ela:

Eu tenho um valor Integer e um valor BigDecimal, eu não estou conseguindo fazer a multiplicação dos dois, e o resultado eu quero que retorne em BigDecimal, alguma outra coisa que eu posso ter esquecido?

Exemplo:

BigDecimal resultado = BigDecimal *Integer ;

Desde de já agredeço a ajuda.

BigDecimal e Integer são classes. Você não vai conseguir usar o operador * e terá que usar o método multiply no lugar.

Você pode estar confuso porque para as classes que mapeiam tipos primitivos (Integer, Double, etc…) o Java, a partir da versão 5, faz autoboxing/autounboxing. Ou seja, ele é capaz de converter automaticamente um tipo primitivo para uma variável dessa classe e vice-versa. Não é o caso das classes BigInteger e BigDecimal, que não tem tipo primitivo correspondente.

Abaixo, vai o código de como fazer o cálculo:

BigDecimal valor = new BigDecimal(15.0); Integer outroValor = new Integer(100); BigDecimal resultado = valor.multiply(BigDecimal.valueOf(outroValor.longValue()));

Note que, como BigDecimal é imutável, o valor da variável valor não será alterado.

ViniGodoy, value pela dica.

Muito obrigado…