Formatando N�meros com Java
Para formatar n�meros com Java voc� pode utilizar a classe
java.text.DecimalFormat.
Uma das alternativas � utilizar os recursos de internacionaliza��o do Java
permitindo que o formato do n�mero seja configurado automaticamente
dependendo
do lugar (Locale) onde a aplica��o est� sendo executada. Desta forma o
separador
de decimais por exemplo, poder� ser um ponto (.) ou uma v�rgula (,).
Uma outra alternativa � especificar a formata��o que voc� deseja para os
n�meros,
desta forma o mesmo formato ser� usado em qualquer lugar que seja
executada a sua
aplica��o.
A classe DecimalFormat pode ser configurada para utilizar um modelo de
formata��o
(Pattern) atrav�s do m�todo applyPattern(String pattern) da classe
DecimalFormat.
Veja alguns exemplos abaixo:
Pattern Descricao
0 Imprime d�gitos ou zero se vazio
# Imprime d�gitos ou espa�o em braco
. Separador Decimal
- Sinal para n�meros negativos
Abaixo uma pequena aplica��o de exemplo do uso da classe DecimalFormat e
Locale.
import java.text.DecimalFormat;
import java.util.Locale;
/**
* Exemplo de utilizacao da classe DecimalFormat para formatacao de
numeros.
*
* @author Handerson Ferreira Gomes
* @created June 11, 2002
*/
public class DecimalFormatExample {
/**
* Metodo de execucao da classe DecimalFormatExample
* @param args Um modelo de formatacao para ser utilizado pela
aplicacao
*/
public static void main(String[] args) {
Locale locale = Locale.getDefault();
System.out.println("Este Sistema Operacional usa atualmente as
seguintes Configuracoes (Default):");
System.out.println("Pais : " + locale.getDisplayCountry());
System.out.println("Lingua/Teclado : " +
locale.getDisplayLanguage() + " - " + locale.getDisplayName());
System.out.println("");
DecimalFormat formatador = new DecimalFormat();
double valor1 = 235040.30;
float valor2 = -235040.30f;
int valor3 = 235040;
String valor4 = "235040.30";
System.out.println("Numeros sem formatacao:");
System.out.println("Valor 1 : " + valor1);
System.out.println("Valor 2 : " + valor2);
System.out.println("Valor 3 : " + valor3);
System.out.println("Valor 4 : " + valor4);
System.out.println();
System.out.println("Numeros utilizando a formatacao Default:");
System.out.println("Valor 1 : " + formatador.format(valor1));
System.out.println("Valor 2 : " + formatador.format(valor2));
System.out.println("Valor 3 : " + formatador.format(valor3));
System.out.println("Valor 4 : " + formatador.format(new
java.math.BigDecimal(valor4)));
System.out.println();
System.out.println("Utilizando o Pattern: R$ 000,000.00;R$
(000,000.00)");
formatador.applyPattern("R$ 000,000.00;R$ (000,000.00)");
System.out.println("Valor 1 : " + formatador.format(valor1));
System.out.println("Valor 2 : " + formatador.format(valor2));
System.out.println("Valor 3 : " + formatador.format(valor3));
System.out.println("Valor 4 : " + formatador.format(new
java.math.BigDecimal(valor4)));
System.out.println();
if (args.length > 0) {
String pattern = "";
for (int i = 0; i < args.length; i++) {
pattern += args[i] + " ";
}
pattern = pattern.trim();
System.out.println("Utilizando o Pattern: " + pattern);
try {
formatador.applyPattern(pattern);
System.out.println("Valor 1 : " + formatador.format(valor1));
System.out.println("Valor 2 : " + formatador.format(valor2));
System.out.println("Valor 3 : " + formatador.format(valor3));
System.out.println("Valor 4 : " + formatador.format(new
java.math.BigDecimal(valor4)));
} catch (IllegalArgumentException e) {
System.out.println("ERRO: Pattern invalido.");
System.out.println(e.getMessage());
}
}
else {
System.out.println("Voce pode enviar um pattern como argumento
para a aplicacao. Ex:");
System.out.println("java DecimalFormatExample U$ 000.00");
}
}
}
Bons c�digos!!!
______________________________________________________________________________________________
Handerson Ferreira Gomes
Summa Technologies
Boletim Dicas Java - Sua dose di�ria de Java.
================================================================
Dicas-Java circula diariamente com pequenas dicas
sobre a plataforma Java e � mantido pela Sociedade de
Usu�rios Java - SOUJAVA (http://www.soujava.org.br)
- Quer contribuir com uma dica sobre Java? Envie um
e-mail para [EMAIL PROTECTED]
- Participe de outras listas de discuss�o sobre a linguagem Java.
Saiba mais em http://www.soujava.org.br/lista.htm
------------------------------------------------------------------
- Para assinar este boletim envie um e-mail para [EMAIL PROTECTED]
- Para cancelar sua assinatura envie um e-mail para
[EMAIL PROTECTED]
- O hist�rico das Dicas-List pode ser encontrado em
http://www.mail-archive.com/dicas-list%40soujava.org.br