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