Java: Formatando um Valor Numerico: Difference between revisions

From Wiki
(New page: Solução pra um problema comum em foruns Java. <code java5> package testes; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import ja...)
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Solução pra um problema comum em foruns Java.
Solução pra um problema comum em foruns Java.


<code java5>
= Exemplo =
package testes;


import java.math.BigDecimal;
package testes;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.math.BigDecimal;
import java.util.Locale;
import java.text.DecimalFormat;
 
import java.text.DecimalFormatSymbols;
public class FormataValor {
import java.util.Locale;
 
public static void main(String[] args) {
public class FormataValor {
System.out.println(formataValor(".03"));
System.out.println(formataValor("0.03"));
public static void main(String[] args) {
System.out.println(formataValor("003"));
System.out.println(formataValor(".03"));
System.out.println(formataValor("30000.00"));
System.out.println(formataValor("0.03"));
System.out.println(formataValor("3000000"));
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);
public static String formataValor(String valor){
        bd.setScale(8,BigDecimal.ROUND_HALF_UP);
     
BigDecimal bd = new BigDecimal(valor);
                bd.setScale(8,BigDecimal.ROUND_HALF_UP);
        
        
        String pattern = "###,###,##0.00";
                String pattern = "###,###,##0.00";
       
       
        Locale locale=new Locale("pt","BR");
                Locale locale=new Locale("pt","BR");
        
        
        DecimalFormatSymbols symbols=new DecimalFormatSymbols(locale);
                DecimalFormatSymbols symbols=new DecimalFormatSymbols(locale);
        symbols.setDecimalSeparator(',');
                symbols.setDecimalSeparator(',');
        symbols.setGroupingSeparator('.');
                symbols.setGroupingSeparator('.');
        DecimalFormat f=new DecimalFormat(pattern,symbols);
                DecimalFormat f=new DecimalFormat(pattern,symbols);
        
        
        return f.format(bd);
                return f.format(bd);
    }
        }
}
}
</code>
 


O resultado é:
O resultado é:
Line 45: Line 46:
  '''30.000,00'''
  '''30.000,00'''
  '''3.000.000,00'''
  '''3.000.000,00'''
= Ver também =
*[[BIND: Configurando o suporte ao Active Directory]]
*[[Java| Mais Artigos sobre Java]]
*[[Tecnologias|  Mais Artigos sobre outras Tecnologias]]
*[[Apache HTTP Server|  Mais Artigos sobre Apache HTTP Server]]
*[[Linux|  Mais Artigos sobre Linux / UNIX / AIX]]
[[Category:Java]]
[[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