Formatar "0,00"

Oi pessoal … alguem sabe como posso formatar um valor double para “0,00” (a saida pode ser em formato String mesmo)

Se o valor for Double 60.28031970346346, gostaria de exibir 60,28
ou se for 60.0 gostaria de exibir 60,00

Obrigado!!

Rodrigo.

Voce deve usar DecimalFormat();
Exemplo:

DecimalFormat ad = new DecimalFormat(“0.00”);

vc deve importar java.awt.DecimalFormat;

Tenta ai. Se der certo da um toque…

Oi gollun… cara infelizmente eu não vi o seu post antes e acabei criando um metodo que faça essa formatação… mas de qualquer forma muito obrigado hein cara!!
Segue o metodo caso alguem precise e tal…

Abraço!!

[code] public String formataMoeda(String valor) { // entrada 20.5

    String antes = valor.substring(0,valor.indexOf('.')); //recebe antes ponto "20"
          
    String depois = valor.substring(valor.indexOf(".")+1); //recebe após ponto "5"
  
           depois += "00"; // ("5"+"00") fica como 500
          
    depois = depois.substring(0,2); //recupera dois primeiros carac de 500 -> 50
   
     valor = antes+","+depois;  // valor = "20" + "," + "50"
     
   return valor; // 20,50
} [/code]

Nao reinvente a roda, amigo.

veja bem… não é questão de reinventar a roda… eu procurei desesperadamente por um metodo que me ajudasse… não encontrei nada…achei que não existisse… ai acabei fazendo eu mesmo…felizmente eu vi que vc postou e agora posso substitui-lo.

Mas pensando bem esse metodo que fiz foi realmente interessante pois com ele eu aprendo mais levando em conta que sou iniciante!!Esse metodo que fiz tambem pode ser reaproveitado para outras ocasiões
E depois se todos pensassem assim não existiriam frameworks no mercado como Struts por exemplo… pq ninguem quis reinventar a teoria de separar a logica de negocios da camada de apresentação…asei lá esse é meu modo de pensar… alias procurei um metodo que validasse moeda 0,00 e não encontrei nada!!
logo pode ser que eu tenha reinventado a roda mais uma vez!!

[code]
public boolean validaMoeda(String valor) { //valida até 999.999,99
boolean validar = true;
int len = valor.length(); // retorna qtde caracters
int ponto = valor.indexOf(’.’); // retorna 1 se existir ponto e -1 se não existir

  if (ponto != -1){ //se existir ponto 
      System.out.println("não use . ");         
  validar = false;   //termina o metodo       
  }
  else{ // se não existir ponto verificaremos a virgula
      int virgula = valor.indexOf(','); // retorna 1 se existir -1 se não existir      
      if (virgula != -1){ //se existir...
          System.out.println("virgula digitada");
          if (len>9){ //verificamos qtde de caracters digitados
              System.out.println("valor invalido > 999999,99");		
                    validar = false; // e se for maior q 9 (pq inclui a virula) termina o metodo
          }
          else{ //se não se qtde caracters for valida
              try {
                  int posVirg = (len - 3); //retorna posição da virgula
                  char virg = valor.charAt(posVirg); // retorna o caracter posicionado na virgula
                  if (virg != ',') { // se esse caracter não for uma virgula
                      System.out.println("virgula não esta posicionada na casa decimal correta");
                      validar = false; //termina o metodo
                  }
                  else{ //senão se  esse caracter for de fato uma virgula
                      String antes = valor.substring(0,valor.indexOf(',')); //recebe conteudo antes virgula        
                  String depois = valor.substring(valor.indexOf(",")+1); //recebe conteudo após virgula
                      Integer.parseInt(antes); // valida pra ver se é um numero
	          Integer.parseInt(depois);
                  }
              }
              catch (Exception e) { //caso não for numerico, ocorrera um erro e esse catch trata o valor não numerico
                  validar = false;
              }
               finally{
                   return validar; // retornando o status false do boolean
               }
              
          }
          
      }
      else{ // sem virgulas
          if (len>6){ // sem virgulas só é possivel uma entrada menor do valor
              System.out.println("valor invalido > 999999");
              validar = false;
          }
          else{
              try {
                  Integer.parseInt(valor); //sem virgula basta uma conferencia pra ver se o valor é inteiro
              }
              catch (Exception e) { //caso não for numerico, ocorrera um erro e esse catch trata o valor não numerico
                  validar = false;
              }
              finally{
                  return validar; // retornando o status booleano 
              }
          }
      }          
  }
  return validar;     //se não entrou em nenhum catch temos que exibir a saída dos ifs true ou false

}[/code]