[RESOLVIDO] Casas decimais usando JOptionPane

Pessoal, eu fiz o seguinte programa:

/*A fórmula para calcular a área de uma circunferência é definida como A = π. R² .
Considerando esse problema que π = 3.14159 :
Calcule a área usando a fórmula fornecida na descrição do problema.*/

package Principiante;

import javax.swing.JOptionPane;

public class AreaDeUmCirculo 
{
    public static void main (String[] args)
    {
        float A, PI = (float) 3.14159, R;
        
        R = Float.parseFloat ( JOptionPane
                     .showInputDialog ( "Informe o valor do raio: " ) );
        
        A = ( float ) ( PI * Math.pow ( R, R ) );
        
        JOptionPane.showMessageDialog ( null, "A = " + A );
    }
}

Minha dúvida é como fazer com que o resultado que geralmente é composto de 5 casas decimais ou mais mostre apenas 2, isto é, quando eu informo o valor 5 no programa acima o resultado deveria ser igual a 9.817,46875 e desejo apenas que mostre o valor 9.817,82?

Observação: ainda não cheguei em orientação a objeto, mas estou estudando pra entender isso o quanto antes. :confused:

1 curtida

Usa isso:

System.out.format("A = %.2f",A);

ou

System.out.printf("A = %.2f",A);`

Golimar pelo que me lembro, antes da vírgula é a base e após ela a potência, então ficaria:

A = ( float ) ( PI * Math.pow ( R, 2 ) );`

Sucesso bro!

1 curtida

Opa, tem um artigo que pode te ajudar a formatar os números decimais:

1 curtida
JOptionPane.showMessageDialog(null, String.format("A = %.2f", A));
2 curtidas

Verdade, não me lembrei disso, A = ( float ) ( PI * Math.pow ( R, 2 ) );

Obrigado pela ajuda, @aureo, @wolmirGarbin e @sergiotorres.