Formatear los datos de salida con String.format

Cómo dar formato a los datos utilizando el método format de String

La clase Formatter proporciona el método format para dar formato a los datos contenidos en un String.

La sintaxis para dar formato a los datos es similar al de printf pero en lugar de mostrarla por pantalla, la cadena formateada se asigna a un String.

Veamos varios ejemplo de uso de format para mostrar datos con formato por pantalla

Ejemplo 1: String que contiene dos números de tipo double con dos cifras decimales

double a = 1.23503689, b = 67.33420191;
String cadena = String.format("a = %.2f b = %.2f", a, b);                                                         
System.out.println("Números introducidos -> " + cadena);

Salida:

Números introducidos -> a = 1,24 b = 67,33     

Ejemplo 2: Obtener cuatro String con los valores contenidos en las variables de tipo int x, y, z, k con formatos diferentes.

En el primero String el valor de x ocupará 10 caracteres se mostrará alineado a la izquierda y además se mostrará el signo del número (+ si es positivo o - si es negativo).

En el segundo String el valor de y se mostrará aplicando el mismo formato que para el valor de x.

En el tercer String el valor de z ocupará 10 caracteres y se mostrará el signo del número (+ si es positivo o - si es negativo). Si el tamaño total del número es menor que los 10 caracteres se rellena con ceros.

En el cuarto String el valor de k se muestra utilizando el mismo formato que se ha aplicado a la variable z.

Salida:

x -> |+7        |     
y -> |-123056   |
z -> |+000000559|
k -> |-000099311|

Ejemplo 3: Obtener un String con la fecha y hora del sistema en formato:

nombreDia dd de nombreMes de YYYY hh:mm:ss AM/PM

LocalDateTime ahora = LocalDateTime.now();
String fecha = String.format("%tA %<td de %<tB de %<tY %<tr", ahora);                                 
System.out.println(fecha);

Salida:

jueves 04 de febrero de 2021 05:21:12 PM