Converter BigDecimal para Integer

Boa noite pessoal, estou com uma dúvida de conversão e não encontrei algo semelhante aqui no fórum. A dúvida é a seguinte, tenho uma variável “valorUnitario” que armazena valores do tipo BigDecimal, preciso transformar esse valor em inteiro:

valorUnitario = (BigDecimal) (int) valorUnitario;

…mas não sei como resolver, alguém sabe uma forma de fazer isso?
Obrigado!

((BigDecimal)valorUnitario).intValue() já tentou?

Obrigado Suu!

Se nada der certo, faz isso:

Integer i = Integer.valueOf(variavelBigDecimal.toString());

[quote=and_wil0806]Se nada der certo, faz isso:

Integer i = Integer.valueOf(variavelBigDecimal.toString());[/quote]

Já tinha dado certo, e o problema sido resolvido há anos atrás. Não ressuscite tópicos sem um excelente motivo, especialmente se sua sugestão é ainda pior do que a que resolveu o tópico.

Se eu coloquei uma forma diferente é porquê houve um motivo, aqui eu estava com o seguinte problema. Uso banco oracle
e na micha aplicação já tinha um código que estava pegando uma lista de id vindas do banco, dessa forma:

EntityManager em = JPAResourceBean.getEntityManager();
String sql = "select A.isn_grupo_medicamento from MEDPOINT.T_PRESCRICAO_PEP_ITEM A …
List lista = em.createNativeQuery(sql).getResultList();

Porém ao invés da variável lista está como uma lista de Integer estava vindo como uma lista de BigDecimal(e por isso
dava erro quando tentava utiliza-la mais na frente), quando eu tentava fazer a conversão:

List listaTeste = new ArrayList<>();
for (BigDecimal b : lista)
listaTeste.add(b.intValue()); // dava erro aqui.
}

Dava o erro: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.math.BigDecimal;

Porém quando fiz dessa forma deu certo:

List listaTeste = new ArrayList<>();
for (BigDecimal b : lista)
listaTeste .add(Integer.valueOf(b.toString()));
}