Erro ao tentar converter uma string

3 respostas
R

Olá.

Ao tentar converter um campo string de uma tabela de um banco postgres, escrevendo o codigo:
valorFaturado=valorFaturado+Float.parseFloat(rsProducao.getString(“valpr”));

recebo a seguinte mensagem de erro:

Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string: "571,50"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224)

Alguém, por favor, poderia me ajudar.

Obrigado,
Rômulo.

Obs.: No postgres, o valor aparece como 571.50 e quando a rotina o lê,
retorna 571,50

3 Respostas

B

Ola,

É simples, o valor que vem na coluna “valpr” está como “571,50”, só que o Float.parseFloat só reconhece como separador decimal um ponto e não vírgula… por isto o erro.

Outra, este campo na base é um float… pq vc não recupera ele direto como float, atraves do getFloat? e outra, se vc vai converter para string, pra que raios vc esta transformando ele em float, que depois vai virar um string? vc tá gerando tres operações estranhas aqui, recupera como string, converte em float, pra depois converter em string??? dá uma olhada melhor ae…

R

Oi Bruno,

Esqueci de informar: o campo na tabela é string.

Abs

B

Ola,

Então, só recuperar e e coloca-lo numa string, faz um replace de ‘,’ para ‘.’ e coverte ele pra float… ou use o java.text.DecimalFormat para fazer a converção.

E se este campo tá guardando valores que vc usa para fazer contas e afins, pq ele é um string ou inves de ser um float?

Criado 10 de abril de 2007
Ultima resposta 10 de abr. de 2007
Respostas 3
Participantes 2