Especificadores De Formato Printf Opções Binárias


Formatando saída de impressão numérica Anteriormente você viu o uso dos métodos de impressão e println para imprimir seqüências de caracteres para saída padrão (System. out). Como todos os números podem ser convertidos em strings (como você verá mais adiante nesta lição), você pode usar esses métodos para imprimir uma mistura arbitrária de strings e números. A linguagem de programação Java tem outros métodos, entretanto, que permitem que você exerça muito mais controle sobre sua saída de impressão quando os números são incluídos. Os métodos printf e format O pacote java. io inclui uma classe PrintStream que possui dois métodos de formatação que você pode usar para substituir print e println. Estes métodos, formato e printf. São equivalentes entre si. O System. out familiar que você está usando acontece para ser um objeto PrintStream, para que você possa invocar métodos PrintStream em System. out. Assim, você pode usar formato ou printf em qualquer lugar em seu código onde você já estava usando print ou println. Por exemplo, a sintaxe para esses dois métodos java. io. PrintStream é a mesma: onde format é uma string que especifica a formatação a ser usada e args é uma lista das variáveis ​​a serem impressas usando essa formatação. Um exemplo simples seria O primeiro parâmetro, formato. É uma string de formato especificando como os objetos no segundo parâmetro, args. Devem ser formatados. A seqüência de caracteres formato contém texto sem formatação, bem como especificadores de formato. Que são caracteres especiais que formate os argumentos de Object. Args. (A notação Object. Args é chamada varargs., O que significa que o número de argumentos pode variar.) Especificadores de formato começam com um sinal de porcentagem () e terminam com um conversor. O conversor é um caractere que indica o tipo de argumento a ser formatado. Entre o sinal de porcentagem () eo conversor você pode ter sinalizadores e especificadores opcionais. Há muitos conversores, sinalizadores e especificadores, que estão documentados em java. util. Formatter Aqui está um exemplo básico: O d especifica que a única variável é um inteiro decimal. O n é um personagem de nova linha independente da plataforma. A saída é: Os métodos printf e format estão sobrecarregados. Cada um tem uma versão com a seguinte sintaxe: Para imprimir números no sistema francês (onde uma vírgula é usada no lugar da casa decimal na representação em inglês de números de ponto flutuante), por exemplo, você usaria: Um exemplo A tabela a seguir Lista alguns dos conversores e sinalizadores que são usados ​​no programa de exemplo, TestFormat. java. Que segue a tabela. Conversores e Sinalizadores Usados ​​em TestFormat. java Dez caracteres de largura, justificados à direita, com três lugares após o ponto decimal. O seguinte programa mostra alguns da formatação que você pode fazer com formato. A saída é mostrada entre aspas duplas no comentário incorporado: Nota: A discussão nesta seção abrange apenas os conceitos básicos do formato e métodos printf. Mais detalhes podem ser encontrados na seção E / S Básica do caminho Essencial, na página Formatação. Usar String. format para criar seqüências de caracteres é coberto em Strings. A classe DecimalFormat Você pode usar a classe java. text. DecimalFormat para controlar a exibição de zeros, prefixos e sufixos iniciais e posteriores, agrupamento (milhares) de separadores eo separador decimal. DecimalFormat oferece uma grande flexibilidade na formatação de números, mas pode tornar seu código mais complexo. O exemplo a seguir cria um objeto DecimalFormat, myFormatter. Passando uma seqüência de padrão para o DecimalFormat construtor. O método format (), que DecimalFormat herda de NumberFormat. É então invocado pelo myFormatter 151e aceita um duplo valor como um argumento e retorna o número formatado em uma string: Aqui está um programa de exemplo que ilustra o uso de DecimalFormat: A tabela a seguir explica cada linha de saída.

Comments