Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

horacio2009

classe tratando informação de pesquisa...

Recommended Posts

pessoal, seguinte, montei uma classe que faz a formatação de numeros, testei na main e funcionou...

agora, tenho o seguinte problema:

tenho essa pesquisa:

 

 try
        {
          String sqlinsert="insert into produtos( valor, produto, vendedor ) values('"+valorTotal.getText()+"','"+produto.getText()+"','1')";
          conectabanco.statement.execute(sqlinsert);
          somaAvon.setText("Produto inserido!");
          conectabanco.executeSQL("select sum(valor)as total from produtos");

    try

      {while(conectabanco.resultset.next())
     somaAvon.setText("total: R$"+conectabanco.resultset.getDouble("total"));
       }

 

aí, preciso pegar o campo"total" que é usado para prencher a variavel "somaAvon" e passar ele pelo seguinte método:

 

        Formatacao formata = new Formatacao([b]56.0899898[/b]);
         formata.formatando();

como é que eu faço para tirar o 56.0899898 e substituir pelo valor de "total" que vem do resultset?

Obrigado a todos pela atenção, pessoal!!!

Muito obrigado!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma solução simples é usar saída formatada.

String total = String.format("%.2f", 56.0899898);

O resultado será 56.09 .

 

Você pode também usar a classe DecimalFormat.

Exemplo simples:

DecimalFormat formatador = new DecimalFormat("#,##");
String total = formatador.format(56.0899898);

Compartilhar este post


Link para o post
Compartilhar em outros sites

não, na verdade, não é bem isso...essa classe de formatação eu já tenho, e funciona do jeito que eu quero, meu problema é como preencher a variável somaAvon com o valor de "conectabanco.resultset.getDouble("total")"formatado por essa classe, pois o mesmo aparece digamos,"cru", valores como 81.9998989898989899 e não dá assim, né?

Enfim, entendeu o que eu preciso?

Caso não tenha entendido algo, desculpe!!!

Valeu pela atenção!!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites
DecimalFormat formatador = new DecimalFormat("#,##");
String total = formatador.format(resultset.getDouble("total"))
somaAvon.setText(total);

Compartilhar este post


Link para o post
Compartilhar em outros sites

não a classe que formata está em outra classe...

eu estou usando dessa forma(com base nas dicas que vocês me passaram)

 

   try{
             conectabanco.resultset.first();
             double soma = Double.parseDouble(""+conectabanco.resultset.getDouble("total"));
             Formatacao formata = new Formatacao(soma);
             formata.formatando();
             somaAvon.setText("valor R$"+soma );
             }
             catch(SQLException erroinclusao){
             somaAvon.setText("Erro "+ erroinclusao.getMessage());
             }

na saida, está exibindo certinho, mas na "somaAvon" não...está sem a formatação...

a classe é essa:

package avonprograma;

import java.text.DecimalFormat;

public class Formatacao {
  public double soma;

   public double getSoma() {
       return soma;
   }

   public void setSoma(double soma) {
       this.soma = soma;
   }
  //++++++++++++++++++++++++++++++++++++++++++++++++++
  public Formatacao(double soma) {
  this.soma = soma;}
  //++++++++++++++++++++++++++++++++++++++++++++++++++
  public void formatando()
  {
 // DecimalFormat formatador = new DecimalFormat();
  DecimalFormat formatador = new DecimalFormat();
  System.out.println(formatador.format(soma));
  }

}

o que eu to fazendo errado, pessoal??

Mais uma vez, obrigado!!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só pra constar, essa classe Formatacao que você criou, a princípio não vi nenhuma utilidade pra ela. No entanto se quiser fazer funcionar com ela faça esta alteração no método formatando.

public String formatando()
{
  DecimalFormat formatador = new DecimalFormat(/*padrão de formatação*/);
  return formatador.format(soma);
}

Aconselho que troques o nome deste método de formatando para algo como getNumeroFormatado, formata, ou algum similar.

 

try{
  conectabanco.resultset.first();
  double soma = Double.parseDouble(""+conectabanco.resultset.getDouble("total"));
  Formatacao formata = new Formatacao(soma);
  somaAvon.setText("valor R$"+formata.formatando() );
} catch(SQLException erroinclusao){
  somaAvon.setText("Erro "+ erroinclusao.getMessage()); // É melhor usar um JOptionPane aqui. E ainda sim imprimir a pilha de erros ou usar um logger.
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.