Erro nas conversões de tipo?

3 respostas
fernandopaiva

Salve galera…

Estou encontrando um problema na hora de converter minhas strings para tipos como double, float e int…Vejam.

// metodo que converte e multiplica campos
public Float somaCampos(){
        float campoValorUnitario = Float.parseFloat(valorUnitario.getText());
        int campoQuantidade = Integer.parseInt(quantidade.getText());
        float retorno = campoValorUnitario * campoQuantidade;
        return retorno;
    }

//metodo que exibe o retorno do resultado do metodo somaCampos()
public void exibeSoma(){
        System.out.println(somaCampos());
    }

//metodo que invoca a exibicao
 private void quantidadeKeyReleased(java.awt.event.KeyEvent evt) {
        // TODO add your handling code here:
        int key = evt.getKeyCode();
        if(key == KeyEvent.VK_ENTER){
           exibeSoma();
        }
    }

// erro que esta retornando
Exception occurred during event dispatching:
java.lang.NumberFormatException: For input string: "45,50"
        at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224)
        at java.lang.Float.parseFloat(Float.java:422)

Ainda não sei o que esta acontecendo…alguma sugestão ??

obrigado

3 Respostas

renzonuccitelli

Provavelmente pq ele está com Locale en_US, então vc deve usar . (ponto) em vez de , (vírgula).

[]s

R

tenta isto

String numerovalido = valorUnitario.getText().replace(",",".");
fernandopaiva

rjbcordeiro …resolvido. Usei da maneira que vc disse ficou show…

obrigado

Criado 4 de novembro de 2010
Ultima resposta 4 de nov. de 2010
Respostas 3
Participantes 3