Formatando números com Numberformat

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (13)  (1)

Os principais métodos do NumberFormat são: A classe NumberFormat, faz parte do pacote java.text e permite formatar números conforme a...

 

A classe  NumberFormat, faz parte do pacote java.text e permite formatar números conforme a localização geográfica em que você se encontra, realizando a distinção entre o sinal de ponto,milhar e de  decimal,  também identifica a posição do sinal do número e identifica o prefixo que indica a moeda em caso de valores monetários.

 

A Classe NumberFormat possui três mêtodos para formatar números, valores monetários e percentuais. Para fazer uso dela é necessário importa-la.

 

ex:

import java.text.NumberFormat;

 

Os principais métodos do NumberFormat são:

 

getNumberInstance()

Retorna a instância de um objeto com base no formato da localidade padrão. É utilizado para numeros

 

getCurrencyInstance()

Usado para formatar moedas

 

getIntegerInstance()

Usado para formatar números ignorando casas decimais

 

getPercentInstance()

Usado para formatar frações pro exemplo 0,15 é formatado e mostrado como 15%

 

Exemplo:

 

import java.text.NumberFormat;

 

public class Formata {

 

      public static void main(String[] args) {

           

            System.out.println(NumberFormat.getCurrencyInstance().format(12345678.90));

            // imprimirá R$ 12.345.678,90          

      }

}

 

Agora um exemplo para uma situação em que se há muitos números a serem formatados.

 

import java.text.NumberFormat;

 

public class Formata2 {

 

      public static void main(String[] args) {

            double n[]={523.34, 54344.23 ,95845.223 ,1084.895};

           

            NumberFormat z = NumberFormat.getCurrencyInstance();

           

            for (int a = 0; a < n.length; a++) {

                  if(a != 0)

                        System.out.print(", ");

                        System.out.print(z.format(n[a]));

            }

            System.out.println();

            /*

            Imprime:

            R$ 523,34, R$ 54.344,23, R$ 95.845,22, R$ 1.084,90

            */

      }    

}

 

Ainda é possível criar uma formatação personlizada utilizando o objeto DecimalFormat.

 

por exemplo:

 

import java.text.DecimalFormat;

 

public class Formata {

     

      public static void main(String[] args) {

           

            double valor = 2000.0;

            double vezes = 3.0;

            double prestacao = valor/vezes;

     

            DecimalFormat df = new DecimalFormat("0.##");

            String dx = df.format(prestacao);

           

            System.out.print(dx);

           

      }

      // sera impresso : 666,67

}

 

Algumas strings de formatação que podem ser utilizadas com o Decimal Format

 

Marcara de formatação

Formato impresso

Descrição

,##0,00

1,242.50

Separa grupo dos milhares com vírgulas, se  número menor que um mostra zeros na frente.

$,##0.00;($,##0.00)

($1,535,50)

Números negativos entre parênteses. mostra $

0.#####

1244.5

Se número entre -1 e  1 mostra zero na frente e não mostra zeros no final.

 

É importante lembrar que DecimalFormat não é adequada para formatar notações científica, tabelas com colunas de largura fixa e nem números em formato hexadecimal ou octal.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?