Como formatar casas decimais em BigDecimal?

Olá amigos do GUJ o/

Estou usando BigDecimal em uma aplicação e até consegui a precisão que eu queria…mas ficou preciso demais :lol:

Minha duvida é a seguinte,

Como faço por exemplo para o valor BigDecimal 2.20 ficar 2.2 e 0.680 ficar 0.68

Creio que a ideia seria verificar se tem 0 na ultima casa decimal e eliminá-lo.

Pensei em transformar em String e fazer manipulações com metodos para eliiminar esse zero, mas acho que ficaria muito oneroso para a aplicação fazer isso. Seria tipo usar canhão para matar um mosquito.

Alguem pode ajudar com uma forma mais simples de tratar isso?

Li a documentação da classe BigDecimal mas ate então nao encontrei nada que funcionasse para esses casos. Gostaria de um direcionamento para resolver esse problema.

Grato pela atenção.

ola amigo,

acredito que o ‘doubleValue()’ do BD resolva seu problema,veja:

BigDecimal x = new BigDecimal("2.20"); System.out.println("test1="+x); System.out.println("test2="+x.doubleValue());

Resultado:
test1=2.20
test2=2.2

[]s
Jiips

Com NumberFormat:
http://docs.oracle.com/javase/6/docs/api/java/text/NumberFormat.html

Bom dia!!

Já tentou usar os métodos da classe BigDecimal como o setScale(int scale) ou as constantes (ROUND)?

Att.