Formatando números
Boa tarde pessoal!
Depois de um tempo sem postar, estou voltando....
Vou colocar aqui apenas alguns modelos de formatação, para demonstração, que também acredito que sejam os mais utilizados.Isso foi uma das coisas que eu tive um pouco de dificuldade, tanto em fazer como em achar material para consultar.
Depois de um tempo sem postar, estou voltando....
Vou colocar aqui apenas alguns modelos de formatação, para demonstração, que também acredito que sejam os mais utilizados.Isso foi uma das coisas que eu tive um pouco de dificuldade, tanto em fazer como em achar material para consultar.
// Formato moeda da localidade atual do sistema
NumberFormat formato1 = NumberFormat.getCurrencyInstance();
// Formato moeda especificando a localidade (Estados Unidos)
NumberFormat formato2 = NumberFormat.getCurrencyInstance(new Locale("en", "EN"));
// Formato inteiro (arredondado)
NumberFormat formato3 = NumberFormat.getIntegerInstance();
// Formato de porcentagem
NumberFormat formato4 = NumberFormat.getPercentInstance();
// Formato decimal
NumberFormat formato5 = new DecimalFormat(".#");
O getCurrencyInstance() pega a moeda da localidade atual do sistema mas, caso seja especificada a localidade, como no formato2, ele utiliza a moeda daquela localidade.
A formatação para número inteiro é feita de forma simples. Se o valor decimal for menor que 5, é feito o arredondamento para baixo, senão é feito para cima.
A formatação de casas decimais é feita através da mascara colocada logo após DecimalFormat, onde ".#" especifica a quantidade de casas decimais a serem utilizadas. (1 neste caso)
E como utilizar isso?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView texto = (TextView) findViewById(R.id.textView1);
double valor = 15.97;
NumberFormat formato1 = NumberFormat.getCurrencyInstance();
NumberFormat formato2 = NumberFormat.getCurrencyInstance(new Locale("en", "EN"));
NumberFormat formato3 = NumberFormat.getIntegerInstance();
NumberFormat formato4 = NumberFormat.getPercentInstance();
NumberFormat formato5 = new DecimalFormat(".#");
texto.setText(formato1.format(valor));
Log.i("Moeda atual", formato1.format(valor));
Log.i("Moeda EUA", formato2.format(valor));
Log.i("Número inteiro", formato3.format(valor));
Log.i("Porcentagem", formato4.format(valor));
Log.i("Decimal", formato5.format(valor));
}
Coloquei todas as formatações para que sejam vistas no log.
Qualquer dúvida é só postar aí. Até a próxima!