Acredito que se é para remover "," para inserir no BD e depois restaurar mostrando em tela, deva utilizar um algoritmo para isso Acredito que não tenha classe com tais funções.
O uso da DecimalFormat acho que ajudaria na hora de dispor os dados para o usuário, mas para pegar, retirar e inserir no BD, não.
Fiz um algorotimo e o codifiquei. Está funcionando perfeitamente e acredito que lhe sirva.
//------------------------------------------------------------------------
// ENTRADA DO VALOR NUMERICO
//------------------------------------------------------------------------
String numero = "231.312.113.352.345,67";
System.out.println(numero);
//------------------------------------------------------------------------
// FORMATANDO PARA INSERÇÃO NO BD
//------------------------------------------------------------------------
//Procedimento para substituir caracteres
numero = numero.replace(".","");
numero = numero.replace(",",".");
//Resultado pronto para inserir no BD
System.out.println(numero);
//------------------------------------------------------------------------
// FORMATANDO PARA EXIBIR EM TELA
//------------------------------------------------------------------------
//Agora vamos ao processo de restauração
//Substitui o ponto por virgula
numero = numero.replace(".",",");
//variavel que diz a cada quantas casas decimais se adiciona o ponto
int digitos = 3;
//pega a posição da virgula
int posicao = numero.lastIndexOf(",");
//pega toda a string até antes da virgula
String valor = numero.substring(0,numero.length()-3);
//verifica no calculo quantos pontos serão necessarios
int cont = ((valor.length() % digitos) != 0) ? (valor.length() / digitos) : (valor.length() / digitos)-1 ;
//armazena tudo apos a virgula, para mas tarde adicionar ao valor
String subValor = numero.substring((int)posicao);
//Laço para rodar enquanto houver algum ponto a adicionar
while((cont > 0) && (cont != 0) && !(cont < 0)){
valor = (valor.substring(0,valor.length()-digitos)) + "." + (valor.substring(valor.length()-digitos));
cont--;
digitos = (digitos+3)+1;
}
//------------------------------------------------------------------------
// PRONTO
//------------------------------------------------------------------------
//Remonta o valor trabalhado + o restante após a virgula
System.out.println(valor+subValor);
Comentei bastante para facilitar a interpretação.
Espero que lhe sirva, deu trabalhim :lol: :lol:
Abraço,
Fábio heleno