Formatar campo preço Java Swing

30/11/2016

4

Pessoal, estou fazendo um programa em java, preciso formatar um campo preço de forma que ele mostre no campo a máscara "R$ ###,##" para o usuário mas no banco armazene o valor real. Estou fazendo a máscara em outros campos como o exemplo do campo CPF:

try {
	        campoCPF.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("###.###.###-##")));
		} catch (java.text.ParseException ex) {
	        ex.printStackTrace();
	    }


Mas, o CPF eu posso armazenar dessa forma no banco pois é String, já o preço não posso, pois pretendo fazer contas com os valores.

Alguém poderia me ajudar a entender como faço?

Desde já agradeço.
Responder

Post mais votado

30/11/2016

Boa noite Beatriz.
Já tentou salvar convertendo para Double?

Double.parseDouble(textFieldValor.getText().replace('''','''', ''''.'''').substring(3))

O código acima troca a vírgula pelo ponto e desconsidera o simbolo monetário R$.
Responder

Mais Posts

03/12/2016

Beatriz Silva

Boa tarde Osmar,

Muito obrigada! Ajudou muito!

Eu estava convertendo para Double, mas sem usar o replace tava dando erro na hora de persistir no banco por conta da vírgula. Da forma que você ensinou deu certo.

Obrigada!
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar