Tratar casas decimais com ","

estou usando o seguinte código para converter Strings para números com decimais

BigDecimal d = new BigDecimal("123.65");

se der algum tipo de erro eu sei que não era um número válido… mas…

um número com decimal deve ser 13.45 e não 13,45

gostaria de saber se tem alguma forma de dizer que o separador de decimal é a , ao invés do .

tentei mudar o Locale default para pt ( Locale.setDefault(new Locale("pt")); ) mas não deu certo

alguém sabe se tem como fazer isso?

senão eu ia pegar a String remover os . e depois converter as vírgulas para ponto para converter para número
1.524,35 > 1524,35 > 1524.35

[]s

Receba o número como String e faça a conversão.

String string = "10,35";
string.replaceAll(",",".");

System.out.println(string);

A saída é 10.35

isso é a solução que vou acabar fazendo, mas queria saber se tem como dizer pra VM que na minha região é diferente e que usamos “,” como separador de decimal, para não precisar ficar convertendo “.” para “,” e vice-versa

Olá

Dá uma lida nos comentários desse blog.

Use o método parse da classe NumberFormat.
Mais informações: http://java.sun.com/docs/books/tutorial/i18n/format/numberFormat.html