Nó! Assim não! Que tal esta função?
 
  //---------------------------------------------------------------------------- 
  // Método que, dada string fornecida como valor, formata a String dada em
  // valores monetários Ex: 110057 => 1.100,57
  //----------------------------------------------------------------------------   
  public static String formataMonetario( String valor ) {
    // Elimina os zeros
    int pos = 0;
    while( (pos<valor.length()) && (valor.charAt(pos) == '0') ) {
        pos++ ;
    }
    if( pos >= valor.length() ) {
     return "0,00";  
    } else {
      valor = valor.substring(pos);  
    }
     
    if( (valor == null)||(valor.equals("")) ) return "";
    else {       
      int tamanho = valor.length();
      String retorno = "";
      retorno = "," + valor.substring(tamanho-2, tamanho) ;
      tamanho -= 2 ;     
      while( tamanho > 3 ) {
        retorno =  "." + valor.substring(tamanho-3, tamanho) + retorno ;   
        tamanho -= 3;
      }
      retorno =  valor.substring(0, tamanho) + retorno ;         
      return retorno;
    }
  }
 
[]'s
 
 Luiz Reginaldo
----- Original Message -----
Sent: Thursday, March 20, 2003 11:02 AM
Subject: RE: [java-list] Formatação decimal de uma String

Asadelta Java,
 
 
Tente :
 
import java.text.NumberFormat;
import java.util.Locale;
 
String str2 = "123456" // o resultado deveria ser 1.234,56 decimal

double num = Double.parseDouble(str2); // transforma e numero decimal

NumberFormat nf  = NumberFormat.getInstance(new Locale("pt","BR"));  // pega a formatação utilizada no País
 
System.out.println( nf.format( num ) );
 
 
Igor dos Santos Ferreira
------------------------------------
Application Developer Jr.
Timnet.com
55 021 398 37221
55 021 811 24995
 
-----Original Message-----
From: asadelta java [mailto:[EMAIL PROTECTED]
Sent: terça-feira, 11 de março de 2003 15:03
To: [EMAIL PROTECTED]
Subject: [java-list] Formatação decimal de uma String

Olá,

como faço para fazer um formatação decimal de uma string obtida do BD?

P.ex. Recebi as Strings

str1 = "123"; // o resultado deveria ser 1,23 decimal

str2 = "123456" // o resultado deveria ser 1.234,56 decimal

Na API do Java existe alguma alternativa fácil ou teria que fazer na unha?

Obrigado.



Busca Yahoo!
O serviço de busca mais completo da Internet. O que você pensar o Yahoo! encontra.
[Igor dos Santos Ferreira]  

Responder a