[RESOLVIDO] Problema ao exibir um valor no jtextfield

Estou com um problema, no meu projeto preciso pegar o valor de um jtextfield e somar com o valor que preciso, mas chega uma hora da soma que da números com muitas casas decimais exemplo: 149.7300002, 173,999999993 ai para isso tentei formatar com o DecimalFormat ,mas não consigo exibir o valor formatado no jtextfield, pois vem a exceção depois da primeira soma java.lang.NumberFormatException: For input string: “23,78”.

O código é

    try {
        if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
            
            double valor = Double.parseDouble(txt_a.getText()) + Double.parseDouble(txt_b.getText());
            
            
            DecimalFormat df = new DecimalFormat("0.##");
            String dx = df.format(valor);

            txt_b.setText(df.format(valor));
        }
    } catch (Exception e) {
        System.out.println(e);
    }

você esta formatando esse valor!

String dx = df.format(valor);

Mas na hora de setar, está sentando a variável “valor”!

txt_b.setText(df.format(valor));

Ou seja a variável “dx” não esta em uso … tente:

        NumberFormat f = NumberFormat.getCurrencyInstance();
        
        double valor = Double.parseDouble(txt_a.getText()) + Double.parseDouble(txt_b.getText());

        String dx = f.format(valor);
        txt_b.setText(dx);

Vixe obrigado, mas continuo com o problema, depois da primeira soma aparece o erro java.lang.NumberFormatException: For input string:

Olha acho que o problema é que quando você converter a String em Double, você coloca o seguinte valor no campo de texto 25,78. Você tem que substituir a vírgula pelo ponto, em vez de 25,78 deve ficar 25.78, a classe String tem o método replace, de uma olhada nele.

nossa obrigado nem vi que estava trocando o ponto pela virgula :slight_smile:

De nada amigo, só Lembre de marcar a solução