Ola galera, estou com o Seguinte problema Segue o codigo e depois explicarei:
try {
teste = BigDecimalUtil.getBigDecimal(txValorTitulo.getText().trim());
txValorTitulo.setDocument(new PlainDocument());
txValorTitulo.setText(nfUS.format(teste).toString());
} catch (Exception e) {
}
Eu pego um valor em um Jtexfield no seguinte formato 123.123,22 , O metodo GetBigDecimal deixa ele no Srguinte formato 123123.22 pois para ele ser usado
depois em um format esse é o formato que o “format” entenderá … na segunda linha limpo o jtextfield para sobreescrever o valor antigo , e na terceira linha formato
o valor 123123.22 para dolar ou seja tecnicamente ele ficaria assim 123,123.22 , tudo correto e bunitinho .Porem isso soh funciona quando nao uso o try catch , funciona perfeitamente porem lança a Exception Number Format mas ainda sim funciona perfeitamente.
Entaum resolvi trata-la … porem quando trato a exception ele executa duas vezes esse mesmo codigo nao compreendi o pq reparei que quando tratei a exception e tenti formatar o valor ele por exemplo fazia algo assim:
Valor inicial 123,22 quando ia formatar para dolar ficava assim 12,322.00 , fiz o debug para ver o pq e entaum reparei ele executa esse algoritmo duas vezes e faz tudo akilo denovo primeiro deixa nesse formato 123.22 depois formata para Dolar q continua no mesmo formato porem Tecnicamenteo foi formatado e depois refaz isso , esse é o problema pq ele pega o valor que ja esta pronto para setar no campo e formata denovo 123.22 e quando passa pelo GetBigDecimal ele tira esse ponto pois o GetBigDecimal troca “.” por “nada” e ", " por “.” ou seja tira o separador de decimal que eh virgula e seta ponto no lugar de modo que o JVM compreenda … logo quando faz isso duas vezes o valor fica assim 12322 sem ponto algum …
ai quando passa peli nfUS.format denovo ele formata errado…
Bom galera me Desculpa essa imensa explicação mas tentei explicar de modo a compreenderem perfeitamente …
Logo preciso que algm me ajuda com Esse Try Catch para que ele nao execute duas vezes o mesmo codigo… lembrando que sem o Try Cath ele funciona perfeitamente
porem lança uma Exception …
Obrigado !!