Blz Pessoal?
Estou fazendo um projeto, e tenho uns campos onde serão digitados valores em reais, e para a formatação deste campo, estou utilizando a classe do link abaixo:
Porém, estou com alguns problemas, aparece o seguinte erro no momento de salvar no banco pela aplicação:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "1,05"
No banco (oracle) o tipo de dados para este atributo é Number(8,2)
quando digito no aplicativo o valor, a formatação é feita perfeitamente pela classe, mas da esse erro no momento de gravar no banco, pelo fato deste textfield não possuir apenas números
já tentei fazer umas corversões, jogar o valor do jtextfield em uma variavel, e converter, mas sem sucesso. Atualmente está assim:
//o campo
tvalortit = new JLabel("Valor Titulo:");
tvalortit.setBounds(280, 50, 80, 15);
panel1.add(tvalortit);
valortit = new JNumberFormatField();
valortit.setBounds(370, 47, 100, 23);
valortit.setBackground(Color.YELLOW);
panel1.add(valortit);
//gravar no banco
private void gravar() {
try {
String nmtitulo_p = nmtitulo.getText();
String dtvenc_p = dtvenc.getText();
double valortitulo_p = Double.parseDouble(valortit.getText()); //aki ja tentei varios tipos de conversões, mas todas sem resultado, apresentando sempre o erro
CallableStatement cs = conn.prepareCall("{call fin_cpa_gravar(:nmtitulo_p, :dtvenc_p, :valortit_p)}");
cs.setString(1, nmtitulo_p);
cs.setString(2, dtvenc_p);
cs.setDouble(3, valortitulo_p);
cs.execute();
} catch (Exception er) {
System.out.println(er);
}
//o erro que apresenta:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "1,00"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Principal.ContasPagar.salvar2(ContasPagar.java:202)
at Principal.ContasPagar.campos_obrigatorios(ContasPagar.java:197)
at Principal.ContasPagar.access$0(ContasPagar.java:190)
at Principal.ContasPagar$1.actionPerformed(ContasPagar.java:172)
Quem puder me dar uma dica agradeço, preciso que na aplicação o usuário digite o valor e seja apresentado corretamente com a mascara(isso ja esta ok) mas quando gravar, tem que converter para pegar somente os numeros e ser possivel gravar no banco. Obrigado.