Extraído do site: www.portaljava.com
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");
}
}
}
Formatando Números com Java
Veja neste artigo para iniciantes : como formatar números com Java
Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.