Fórum Formatação de números em Java - Exemplos #559877
04/08/2016
0
Fala galera!
No artigo escrito pelo Thiago, ele fez um exemplo sobre como formatar valores numéricos em Java.
O link do artigo é esse: https://www.devmedia.com.br/formatando-valores-numericos-em-java/36811
Eu fiz um exemplo diferente... a ideia é criar vários exemplos para enriquecer o conteúdo para a comunidade :)..
Grande abraço!
No artigo escrito pelo Thiago, ele fez um exemplo sobre como formatar valores numéricos em Java.
O link do artigo é esse: https://www.devmedia.com.br/formatando-valores-numericos-em-java/36811
Eu fiz um exemplo diferente... a ideia é criar vários exemplos para enriquecer o conteúdo para a comunidade :)..
Grande abraço!
Wesley Yamazack
Curtir tópico
+ 1
Responder
Post mais votado
04/08/2016
Esse é o meu código galera:
Usar o locale em conjunto com o NumberFormat ajuda bastante na hora de internacionalizar uma aplicação, então dessa forma escrevemos o código uma vez e deixamos o locale dinâmico teremos uma apresentação mais familiar para o usuário.. segue :)
Usar o locale em conjunto com o NumberFormat ajuda bastante na hora de internacionalizar uma aplicação, então dessa forma escrevemos o código uma vez e deixamos o locale dinâmico teremos uma apresentação mais familiar para o usuário.. segue :)
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Locale;
class Teste {
public static void main(String[] args) {
Locale localeBR = new Locale("pt", "BR");
Locale localeUS = new Locale("en", "US");
Locale localeFR = new Locale("fr", "FR");
Locale localeUK = new Locale("en", "UK");
double valorReal = 291933.1233;
float valorPercentual = 0.11f;
int valorInteiro = 82819912;
NumberFormat inteiro = NumberFormat.getInstance();
NumberFormat dinheiroReal = NumberFormat.getCurrencyInstance(localeBR);
NumberFormat dinheiroDolar = NumberFormat.getCurrencyInstance(localeUS);
NumberFormat dinheiroEuroFranca = NumberFormat.getCurrencyInstance(localeFR);
NumberFormat dinheiroEuroUK = NumberFormat.getCurrencyInstance(localeUK);
NumberFormat percentual = NumberFormat.getPercentInstance(localeBR);
NumberFormat numberFormat = NumberFormat.getNumberInstance(localeBR);
DecimalFormat dinheiroYen = new DecimalFormat("\u00A5###,###.###");
System.out.println("Valor Atual: " + valorReal);
System.out.println("Valor Formatado em Moeda (Real): " + dinheiroReal.format(valorReal));
System.out.println("Valor Formatado em Moeda (Dolar): " + dinheiroDolar.format(valorReal));
System.out.println("Valor Formatado em Moeda (Euro/França): " + dinheiroEuroFranca.format(valorReal));
System.out.println("Valor Formatado em Moeda (Euro/Reino Unido): " + dinheiroEuroUK.format(valorReal));
System.out.println("Valor Formatado em Moeda com Decimal Format (Yen/Japão): " + dinheiroYen.format(valorReal));
System.out.println("----------");
System.out.println("Valor Atual: " + valorPercentual);
System.out.println("Valor Formatado em Percentual: " + percentual.format(valorPercentual));
System.out.println("----------");
System.out.println("Valor Atual: " + valorInteiro);
System.out.println("Valor Formatado: " + inteiro.format(valorInteiro));
System.out.println("----------");
System.out.println("Valor Atual: " + valorReal);
System.out.println("Valor Formatado padrão: " + numberFormat.format(valorReal));
}
}
Wesley Yamazack
Responder
Gostei + 2
Mais Posts
04/08/2016
Julio Sampaio
O DecimalFormat também ajuda bastante quando se tem algum formado diferente do padrão:
Padrão Número String Formatada
###.### 123.456 123.456
###.# 123.456 123.5
###,###.## 123456.789 123,456.79
000.### 9.95 009.95
##0.### 0.95 0.95
Padrão Número String Formatada
###.### 123.456 123.456
###.# 123.456 123.5
###,###.## 123456.789 123,456.79
000.### 9.95 009.95
##0.### 0.95 0.95
Locale locale = new Locale("en", "UK");
DecimalFormatSymbols symbols = new DecimalFormatSymbols(locale);
symbols.setDecimalSeparator(';');
symbols.setGroupingSeparator(':');
String pattern = "#,##0.###";
DecimalFormat decimalFormat = new DecimalFormat(pattern, symbols);
String number = decimalFormat.format(123456789.123);
System.out.println(number);
Responder
Gostei + 0
04/08/2016
Santos
Legal a idéia, Wesley.
Aproveitando as Olimpíadas, já não sofre quando for passar troco pros gringos kkk.
Lembrando que a classe Locale precisa de dois parâmetros, o idioma do país com dois dígitos e a sigla.
Lista de idiomas seguindo a ISO 639
Lista de siglas dos países seguindo a ISO 3166
Segue meu exemplo:
Aproveitando as Olimpíadas, já não sofre quando for passar troco pros gringos kkk.
Lembrando que a classe Locale precisa de dois parâmetros, o idioma do país com dois dígitos e a sigla.
Lista de idiomas seguindo a ISO 639
Lista de siglas dos países seguindo a ISO 3166
Segue meu exemplo:
import java.text.NumberFormat;
import java.util.Locale;
class Teste {
public static void main(String[] args) {
Locale localeGE = new Locale("de", "DE");
Locale localeCL = new Locale("es", "CL");
Locale localeKR = new Locale("ko", "KR");
Locale localeAE = new Locale("ar","AE");
Locale localeHK = new Locale("zh", "HK");
double valorReal = 455594.123;
NumberFormat dinheiroDolarCanada = NumberFormat.getCurrencyInstance(localeGE);
NumberFormat dinheiroPesoChileno = NumberFormat.getCurrencyInstance(localeCL);
NumberFormat dinheiroWonSulCoreano = NumberFormat.getCurrencyInstance(localeKR);
NumberFormat dinheiroDirham = NumberFormat.getCurrencyInstance(localeAE);
NumberFormat dinheiroDolarHongKong = NumberFormat.getCurrencyInstance(localeHK);
System.out.println("Valor Atual: " + valorReal);
System.out.println("Valor Formatado em Moeda (Euro/Alemanha): " + dinheiroDolarCanada.format(valorReal));
System.out.println("Valor Formatado em Moeda (Peso Chileno/Chile): " + dinheiroPesoChileno.format(valorReal));
System.out.println("Valor Formatado em Moeda (Won SulCoreano/Coreia): " + dinheiroWonSulCoreano.format(valorReal));
System.out.println("Valor Formatado em Moeda (Dirham/Emirados Arabes): " + dinheiroDirham.format(valorReal));
System.out.println("Valor Formatado em Moeda (Dolar/Hong Kong): " + dinheiroDolarHongKong.format(valorReal));
}
}
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)