Formatação de números em Java - Exemplos
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
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
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
[url:descricao=Lista de siglas dos países seguindo a ISO 3166]https://pt.wikipedia.org/wiki/ISO_3166-1[/url]
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
[url:descricao=Lista de siglas dos países seguindo a ISO 3166]https://pt.wikipedia.org/wiki/ISO_3166-1[/url]
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
Clique aqui para fazer login e interagir na Comunidade :)