galera tenhu um valor que voltou do banco em String, preciso passar por um DecimalFormat para adicionar a virgula e depois enviar para outra tabela, porém essa outra só aceita valores BigDecimal o.0
eu fiz:
DecimalFormat formatacaoDecimal = new DecimalFormat("0.00");
BigDecimal valor = new BigDecimal((Long) formatacaoDecimal.parse(valorTarifaBancaria));
mas ele não coloco a virgula… ¬¬
alguém poderia me dar uma luz?? 
Como é que seu cast para Long funcionou? Não deveria nem funcionar.
De qualquer forma, o correto é fazer o seguinte:
DecimalFormat formatacaoDecimal = new DecimalFormat("0.00");
formatacaoDecimal.setParseBigDecimal (true);
BigDecimal valor = (BigDecimal) formatacaoDecimal.parse(valorTarifaBancaria);
[quote=thingol]Como é que seu cast para Long funcionou? Não deveria nem funcionar.
Outro nível né? 8)
hueheuehueheueheuh
bah thiago, ele mando pro banco sem a virgula o.0
da mesma maneira que o meu anterior :?
Perguntinha. Qual é o valor de “valorTarifaBancaria”? É “14.45” ou “14,45” (ou seja, tem ou não tem vírgulas)?
Quando você usa DecimalFormat, sem passar DecimalFormatSymbols, então você está usando o default do seu Java, que pode depender do seu ambiente se vai usar “,” ou “.”.
Para ter certeza que vai funcionar direitinho se for o caso “14,45” (ou seja, com vírgula), não dependendo se a sua máquina está com Windows (ou Linux) em inglês ou português ou japonês ou croata ou zulu ou xhosa, faça isto aqui:
DecimalFormat formatacaoDecimal = new DecimalFormat("0.00", new DecimalFormatSymbols (new Locale ("pt", "BR")));
formatacaoDecimal.setParseBigDecimal (true);
O valor que retorna é: 150
e tem que ser 1.50
ok vo tenta 
Vou fazer mais uma perguntinha.
O valor original é uma string “150”, “1.50” ou “1,50”?
Se for “150”, então você é que tem de transformar o valor de centavos para reais (ou seja, dividir o valor por 100). DecimalFormat depende de você pôr a vírgula ou o ponto no lugar certo; ele não tem como adivinhar que você quer dividir por 100.