Buscar

Métodos da Classe NumberFormat

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

NumberFormat - PROFESSOR: EDIBERTO MARIANO 
PROGRAMAÇÃO I – PROF. EDIBERTO MARIANO 
 
1 
Métodos da Classe java.text.NumberFormat: 
- A classe NumberFormat do pacote java.text (é necessário importar este pacote) possui três 
métodos para formatar números, valores monetários e valores percentuais. A localização é o conjunto 
de propriedades específicas de cada país sobre strings e números, como símbolo de moeda, separador 
decimal, etc. Para obter um formatador para a localização padrão, use: 
NumberFormat.getNumberInstance()//Números 
NumberFormat.getCurrencyInstance() //Moeda 
NumberFormat.getPercentInstance() //Percentual 
 
o static NumberFormat getNumberInstance() 
//retorna um objeto NumberFormat para formatar números usando as convenções locais. 
//Podemos especificar o número minimos e máximo de dígitos inteiros ou fracionários 
import java.text.NumberFormat; Este pacote é necessário ser importado 
//Podemos especificar o número minimos e máximo de dígitos inteiros 
//ou fracionários 
import java.text.NumberFormat; 
public class Ex02 
{ public static void main(String[] args) 
 {double x = 10000.0/3.0; 
 NumberFormat nf = NumberFormat.getNumberInstance(); 
 //O ultimo dígito é arredondado para cima se for maior ou igual a cinco 
 nf.setMaximumFractionDigits(2); //string "3.333,33" 
 // nf.setMinimumFractionDigits(1); //string "3.333,333" 
 // nf.setMinimumIntegerDigits(6);//string "003.333,33" 
 nf.setMinimumIntegerDigits(0); 
 String fx = nf.format(x); //string "3.333,33" 
 System.out.println("Valor formatado" +fx); 
 }} 
Resposta: Valor formatado = 003.333,33 
NumberFormat.getCurrencyInstance() //Moeda 
Retorna um objeto NumberFormat para converter valores de moeda em strings usando as 
convenções locais. 
import java.text.NumberFormat; 
public class Ex04 
{ public static void main(String[] args) 
 {double x = 10000.0/3.0; 
 NumberFormat nf = NumberFormat.getCurrencyInstance(); 
NumberFormat - PROFESSOR: EDIBERTO MARIANO 
PROGRAMAÇÃO I – PROF. EDIBERTO MARIANO 
 
2 
 String fx = nf.format(x); //string "R$ 3.333,333" 
 System.out.println("Valor formatado = " +fx); }} 
Resposta: Valor formatado = R$ 3.333,33 
 
OBS.: É possível também criar uma formatação pessoal através do objeto DecimalFormat 
import java.text.DecimalFormat; //Este pacote é necessário ser importado 
public class Ex03 
{ public static void main(String[] args) 
 {double x = 10000.0/3.0; 
 DecimalFormat df = new DecimalFormat("###,###.##"); 
 String dx = df.format(x); // String "33.333,33" 
 System.out.println("Valor formatado =" +dx);}} 
Resposta: Valor formatado = 33.333,33 
Tabela com os caracteres que podem ser usados no DecimalFormat: 
Símbolo Significado 
0 Um dígito 
# Um dígito; não mostra se for um zero na frente ou no fim. 
. (ponto) Localização de separador decimal 
, (vírgula) Localização de separador de grupo 
; (pto. e vírgula) Separa formatos de números positivos e negativos 
- (sinal de menos) Prefixo negativo 
% (percentual) Multiplica por 100 e mostra na forma percentual 
Outro símbolo Inclui o símbolo na string de saída 
Exemplos: 
String de Formatação Número Explicação 
,##0.00 1,234.50 Dois dígitos depois do separador decimal; 
mostra os zeros na frente. Separa os 
grupos dos milhares com vírgulas. Se o 
número for < 1, mostra zeros na frente. 
$,##0.00;($,##0.00) ($1,234.50) Números negativos entre parênteses em 
vez de usar o sinal de menos; insere $. 
0.###### 1234.5 Se número entre –1 e 1 mostra zero na 
frente. Não mostra zeros no final. 
 
 
 
 
NumberFormat - PROFESSOR: EDIBERTO MARIANO 
PROGRAMAÇÃO I – PROF. EDIBERTO MARIANO 
 
3 
Exemplo: 
import java.text.DecimalFormat; //Este pacote é necessário ser importado 
public class Decimal1 
{ public static void main(String[] args) 
 {double x = 500.0/3.0; 
 DecimalFormat df = new DecimalFormat("0.####"); //EXIBE O RESULTADO COM 4 CASAS 
 //DECIMAIS, PODE ARREDONDAR 
 //EM VEZ DE 166.6666 PARA 166.6667. 
 String dx = df.format(x); // String "166.6667" 
 System.out.println("Valor formatado =" +dx); 
 } 
} 
 
- DecimalFormat funciona bem para formatar valores monetários. Não é adequada para notação 
científica, tabelas com colunas de largura fixa ou números em formato hexadecimal ou octal. 
o static NumberFormat getPercentInstance() 
// retorna um objeto NumberFormat para converter percentuais em strings 
Pedro recebe 15,00 de um total de 500,00, mostre o valor em real que pedro recebe e o 
percentual 
relativo o pagto 
import java.text.NumberFormat; 
public class Ex05 
{ public static void main(String[] args) 
 {double pedro = 15.00; 
 double tot = 500.00; 
 double perc = ((100*pedro)/tot)/100; 
 //exibe o salario de pedro 
 NumberFormat nf = NumberFormat.getCurrencyInstance(); 
 String fx = nf.format(pedro); // String "R$ 100,00" 
 System.out.println("Pagamento de pedro = " +fx); 
 //exibe o percentual (inteiro) 
 NumberFormat df = NumberFormat.getPercentInstance(); 
 String dx = df.format(perc); //string "3%" 
 System.out.println("Percentual = " +dx); }} 
o void setMaximumFractionDigits(int digitos) 
NumberFormat - PROFESSOR: EDIBERTO MARIANO 
PROGRAMAÇÃO I – PROF. EDIBERTO MARIANO 
 
4 
Obs. Exemplo já visto antes 
//Parâmetros: digitos – número de dígitos a exibir; 
//Especifica o número máximo de dígitos depois do separador decimal do objeto de formatação. 
O último dígito exibido é arredondado. 
o void setMaximumIntegerDigits(int digitos) 
Obs. Exemplo já visto antes 
//Parâmetros: digitos – número de dígitos a exibir; 
//Especifica o número máximo de dígitos antes do separador decimal do objeto de formatação. 
Use este método com extrema cautela. Se forem especificados dígitos a menos, o número será 
simplesmente truncado, exibindo um resultado errado! 
o void setMinimumFractionDigits(int digitos) 
Obs. Exemplo já visto antes 
//Parâmetros: digitos – número de dígitos a exibir; 
//Especifica o número mínimo de dígitos depois do separador decimal do objeto de formatação. 
Se o número tiver menos dígitos fracionários que o mínimo, serão então acrescentados zeros à 
direita. 
o void setMinimumIntegerDigits(int digitos) 
Obs. Exemplo já visto antes 
//Parâmetros: digitos – número de dígitos a exibir; 
//Especifica o número mínimo de dígitos antes do separador decimal do objeto de formatação. 
Se o número tiver menos dígitos que o mínimo, então serão acrescentados zeros à esquerda. 
Método da Classe java.text.DecimalFormat: 
Obs. Exemplo já visto antes 
o void DecimalFormat(String padrao) 
//retorna um objeto DecimalFormat que segue o padrão fornecido para a conversão de 
números em strings.

Outros materiais