Formatando Número [RESOLVIDO]

10 respostas
L

Estou fazendo isso por diversão e gostaria de saber porque fica meio tosco uma dízima monstro na tela

import java.text.DecimalFormat;
import javax.swing.JOptionPane;

class trucando_dizimas

{
    public static void main (String args[])
    {
        double n1, n2, resultado;
        n1 = Double.parseDouble (JOptionPane.showInputDialog("Digite o primeiro número"));
        n2 = Double.parseDouble (JOptionPane.showInputDialog("Digite o segundo número"));
        resultado = n1/ n2;
        DecimalFormat resultado = new DecimalFormat("0.00"); (acho que aqui está errado)
        JOptionPane.showMessageDialog(null, "O resultado é: " +resultado);
    }
}

Ah gostaria de saber outras opções pro showMessage, como por exemplo além de null, mudar o ícone e etc.

Valeu! :)

Código correto:

import java.text.DecimalFormat;
import javax.swing.JOptionPane;

class trucando_dizimas

{
    public static void main (String args[])
    {
      
        double n1, n2, resultado;
        n1 = Double.parseDouble (JOptionPane.showInputDialog("Digite o primeiro número"));
        n2 = Double.parseDouble (JOptionPane.showInputDialog("Digite o segundo número"));
        DecimalFormat df = new DecimalFormat("0.00");     
        resultado = n1/ n2;     
        JOptionPane.showMessageDialog(null, "O resultado é: " + df.format(resultado));
    }
}

Abraços!

10 Respostas

drsmachado

O método showMessage do componente JOptionPane possui várias sobrecargas.
Basta pesquisar na API do java sobre as mesmas.

Rodrigo_Sasaki

você tem que definir o formato antes… assim:

DecimalFormat df = new DecimalFormat("0.00");   
     resultado = n1/n2;
     Float valorFormatado = df.format(resultado);
L

Não entendi definir antes sou bem novo em Java, aliás em programação de modo geral.

Rodrigo_Sasaki

não sei se dá problema… posso estar errado… mas você atribui o valor

double n1, n2, resultado;   
n1 = Double.parseDouble (JOptionPane.showInputDialog("Digite o primeiro número"));   
n2 = Double.parseDouble (JOptionPane.showInputDialog("Digite o segundo número"));

antes de definir o formato da data

DecimalFormat resultado = new DecimalFormat("0.00");

e acho que tem que invocar o método format();

assim:

DecimalFormat df = new DecimalFormat("0.00");   
resultado = n1/ n2;   
JOptionPane.showMessageDialog(null, "O resultado é: " +df.format(resultado));
L

agora siml valeu! :stuck_out_tongue: só uma última pergunta:

aquele df format do lado da variável resultado define que ela vai ser de tal formato?

Rodrigo_Sasaki

ele retorna o valor que você envia, formatado de acordo com o formato que você escolheu (no caso é o 0,00)

RenanRosa

Apenas para melhoria do forum, você colocou “Arredondando número”, mas na verdade deveria ser “Formatando número”
arredondar seria 2.[telefone removido] para 3.0
de 2.[telefone removido] para 2.89 é formatação

Rodrigo_Sasaki

para melhoria do fórum também…
ja que seu problema foi resolvido

edite seu primeiro post desse tópico e coloque [RESOLVIDO] no assunto…

para ajudar as pessoas que estão com o mesmo problema que você teve…

abraço!

drsmachado

RenanRosa:
Apenas para melhoria do forum, você colocou “Arredondando número”, mas na verdade deveria ser “Formatando número”
arredondar seria 2.[telefone removido] para 3.0
de 2.[telefone removido] para 2.89 é formatação

Eu quase respondi Math.ceil() e Math.floor()

RenanRosa

drsmachado:
RenanRosa:
Apenas para melhoria do forum, você colocou “Arredondando número”, mas na verdade deveria ser “Formatando número”
arredondar seria 2.[telefone removido] para 3.0
de 2.[telefone removido] para 2.89 é formatação

Eu quase respondi Math.ceil() e Math.floor()

pois é, esse tópico se encaixa no que estavamos “desabafando” nesses ultimos dias.

Criado 25 de maio de 2011
Ultima resposta 25 de mai. de 2011
Respostas 10
Participantes 4