formatear la salida de impresión numérica

formatear la salida de impresión numérica

anteriormente vio el uso de los métodos print y println para imprimir cadenas a la salida estándar (System.out). Dado que todos los números se pueden convertir en cadenas (como verá más adelante en esta lección), puede usar estos métodos para imprimir una mezcla arbitraria de cadenas y números., El lenguaje de programación Java tiene otros métodos, sin embargo, que le permiten ejercer mucho más control sobre su salida de impresión cuando se incluyen números.

los métodos printf y format

el paquete java.io incluye una clase PrintStream que tiene dos métodos de formato que puede usar para reemplazar print y println. Estos métodos, format y printf, son equivalentes entre sí., El familiar System.out que usted ha estado usando pasa a ser un PrintStream object, por lo que puede invocar PrintStream métodos System.out. Por lo tanto, puede usar format o printf en cualquier parte del código donde has estado utilizando print o println., Por ejemplo,

System.out.format(.....);

La sintaxis de estas dos java.io.PrintStream métodos es el mismo:

public PrintStream format(String format, Object... args)

donde format es una cadena que especifica el formato a ser utilizado y args es una lista de las variables a ser impreso usando ese formato. Un ejemplo simple sería

el primer parámetro, format, es una cadena de formato que especifica cómo se formatearán los objetos del segundo parámetro, args., La cadena de formato contiene texto sin formato, así como especificadores de formato, que son caracteres especiales que formatean los argumentos de Object... args. (La notación Object... args se llama varargs, lo que significa que el número de argumentos puede variar.)

los especificadores de formato comienzan con un signo de porcentaje (%) y terminan con un convertidor. El convertidor es un carácter que indica el tipo de argumento a formatear. Entre el signo de porcentaje (%) y el convertidor puede tener banderas y especificadores opcionales., Hay muchos convertidores, banderas, y especificadores, que están documentados en el java.util.Formatter

Aquí hay un ejemplo básico:

int i = 461012;System.out.format("The value of i is: %d%n", i);

El %d especifica que la única variable es un entero decimal. El %n es un carácter de nueva línea independiente de la plataforma. El resultado es:

The value of i is: 461012

El printf y format métodos sobrecargados., Cada uno tiene una versión con la siguiente sintaxis:

public PrintStream format(Locale l, String format, Object... args)

para imprimir números en el sistema francés (donde se usa una coma en lugar del lugar decimal en la representación inglesa de números de coma flotante), por ejemplo, usaría:

un ejemplo

la siguiente tabla enumera algunos de»28b2e8e596″>, que sigue a la tabla.,

Converters and Flags Used in TestFormat.java
Converter Flag Explanation
d A decimal integer.
f A float.
n A new line character appropriate to the platform running the application. You should always use %n, rather than \n.,
tB a date& time conversion—locale-specific full name of month.
td, te a date & time conversion-2-digit day of month. td tiene ceros líderes según sea necesario, te No.
ty, tY a date & time conversion—ty = 2-digit year, tY = 4-digit year.
tl a date & time conversion—hour in 12-hour clock.,
tM a date & time conversion-minutes in 2 digits, with leading ceros as necessary.
tp a date & time conversion—locale-specific am/pm (minúscula).
tm a date & time conversion-months in 2 digits, with leading ceros as necessary.,
tD A date & time conversion—date as %tm%td%ty
08 Eight characters in width, with leading zeroes as necessary.
+ Includes sign, whether positive or negative.
, Includes locale-specific grouping characters.
Left-justified..
.3 Three places after decimal point.
10.,3 diez caracteres de ancho, justificados a la derecha, con tres lugares después del punto decimal.

el siguiente programa muestra algunos de los formatos que puede hacer con format. La salida se muestra entre comillas dobles en el comentario incrustado:

nota: la discusión en esta sección cubre solo los conceptos básicos de los métodos format y printf. Se pueden encontrar más detalles en la sección Basic I/O del rastro esencial, en la página «formateo».,
Usar String.format para crear cadenas está cubierto por cadenas.

La Clase DecimalFormat

puede usar la clase java.text.DecimalFormat para controlar la visualización de ceros, prefijos y sufijos iniciales y finales, separadores de agrupación (miles) y el separador decimal. DecimalFormat ofrece una gran flexibilidad en el formato de números, pero puede hacer que su código sea más complejo.,

el ejemplo que sigue crea un objeto DecimalFormat, myFormatter, pasando una cadena de patrón al constructor DecimalFormat., El format() método DecimalFormat hereda de NumberFormat, entonces se invoca myFormatter—se acepta un double valor como argumento y devuelve el formato de número en una cadena:

Aquí es un programa de ejemplo que ilustra el uso de DecimalFormat:

El resultado es:

123456.789 ###,###.### 123,456.789123456.789 ###.## 123456.79123.78 000000.000 000123.78012345.67 $###,###.### $12,345.67

La siguiente tabla se explica cada línea de salida.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *