Converter BigDecimal para Long

2 respostas
JHugo

Pessoal,

Antes de postar procurei nos posts antigos e não achei nada...

Estou tentando converter um BigDecimal para um Long mas não estou conseguindo:

long prazoLong = Long.valueOf(valorBigDecimal, 3).longValue();

java.lang.reflect.InvocationTargetException
Caused by: java.lang.NumberFormatException: For input string: "251.43999999999999772626324556767940521240234375"
e
valorBigDecimal.longValue();

Neste o valor fica completamente diferente do esperado, onde o esperado é o mesmo valor inteiro só que arrendondado.

Se alguém puder ajudar, agradeço.

2 Respostas

victor.godinho

Issu aqui filhote? :

BigDecimal b = BigDecimal.valueOf(35.6456d); System.out.println(b.setScale(0,BigDecimal.ROUND_UP).longValueExact());

Falows

JHugo

victor.godinho , cara, muito obrigado…problema resolvido.

Criado 11 de agosto de 2008
Ultima resposta 13 de ago. de 2008
Respostas 2
Participantes 2