Galera preciso de um help,
Estou usando o BigDecimal para representação de valores financeiros, sendo que a classe e imutavel tenho a seguinte duvida, sendo;
valor vindo do banco de dados
BigDecimal valor = 168958.00
retirando as casas decimais como o codigo valor.setScale(0, RoundingMode.FLOOR), fica assim: 168958
Mas preciso agora, formatar o valor novamente para que fique: 1689.58
De que forma eu consigo formatar o valor desta maneira?
Isso não é formatação de valores. Isso é dividir o valor original por 100, não?
Na realidade Thingol, o valor esta formatado desta maneira no Banco,
Tabela A (sempre acresce .00 no valor real)
168958.00
para gravar na Tabela B preciso retirar a casa decimal .00 e acrecentar o valor real, 1689.58
[quote=jonimca]Na realidade Thingol, o valor esta formatado desta maneira no Banco,
Tabela A (sempre acresce .00 no valor real)
168958.00
para gravar na Tabela B preciso retirar a casa decimal .00 e acrecentar o valor real, 1689.58[/quote]
Bom, em si tratando de valores numericos, vc pode pegar o valor inicial, por exemplo o seu 168958.00 e já dividir por 100, que ficaria 1689.5800, e quando gravar no banco, se o campo no banco for um double ou float ele já tratará isto… não?!
O BigDecimal é tão imutável quanto o String, ou seja, o objeto em si não pode ser mudado depois de criado, mas as variáveis que contém um BigDecimal podem ser mudadas.