Java: Formatando um Valor Numerico: Difference between revisions
No edit summary |
|||
Line 59: | Line 59: | ||
*[[Linux| Mais Artigos sobre Linux / UNIX / AIX]] | *[[Linux| Mais Artigos sobre Linux / UNIX / AIX]] | ||
[[Category:Java]] | [[Category:Java]] | ||
[[Category:Tecnologias]] | [[Category:Tecnologias]] |
Latest revision as of 22:40, 25 September 2014
Solução pra um problema comum em foruns Java.
Exemplo
package testes; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.util.Locale; public class FormataValor { public static void main(String[] args) { System.out.println(formataValor(".03")); System.out.println(formataValor("0.03")); System.out.println(formataValor("003")); System.out.println(formataValor("30000.00")); System.out.println(formataValor("3000000")); } public static String formataValor(String valor){ BigDecimal bd = new BigDecimal(valor); bd.setScale(8,BigDecimal.ROUND_HALF_UP); String pattern = "###,###,##0.00"; Locale locale=new Locale("pt","BR"); DecimalFormatSymbols symbols=new DecimalFormatSymbols(locale); symbols.setDecimalSeparator(','); symbols.setGroupingSeparator('.'); DecimalFormat f=new DecimalFormat(pattern,symbols); return f.format(bd); } }
O resultado é:
0,03 0,03 3,00 30.000,00 3.000.000,00
Ver também