Jogo da Forca Tutorial Pong Tutorial SQLite
Mostrando postagens com marcador formato decimal. Mostrar todas as postagens

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.
    // 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!
Copyright © 2013 Aprendendo Android and Blogger Themes.