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     

5 comentarios:

  1. Elabore un algoritmo y programa tal que solicite un número entero para
    encontrar la inversa. (Por ejemplo, si se ingresa el entero 1375, el
    programa imprime 5731), además el programa debe contar el número de
    dígitos que tiene el número y la suma de sus dígitos, luego escribir
    estos valores.
    Ayuda please.

    ResponderEliminar
  2. Escriba el script, que pida al usuario el peso en kilogramos y la estatura en metros. Calculará el indice de masa corporal con esta fórmula:
    IMC=peso/altura^2

    luego según el resultado hará estas comparaciones,
    si el IMC es por debajo de 18.5, dirá "Bajo Peso", de 18.5 a 24.9 "Normal", de 25.0 a 29.9 "Sobrepeso" y de 30 o más "Obeso".

    Al final imprimir en pantalla el IMC y el mensaje.

    ResponderEliminar
  3. porfavor alguien puede resolver este ejercicio que es para un examen dice lo siguiente:
    construye un programa en java que encuentre todos los numeros reproductores, de dos y res cifras, de fibonacci.
    un numero n es reproductor de fibonacci si es capaz de reproducirse a si mismo en una secuencia generada con los m digitos propios(sin alterar su orden) y continuando en la serie con un numero que es la suma de los m terminos precedentes.

    ejemplos

    47 es un numero reproductor de fibonacci pues la serie
    4,7,11,18,29,47,76... contiene 47
    13 no es un numero reproductor porque en la serie
    1,3,4,7,11,18... no contiene el 13

    por favor si alguien lo hace le doy hasta dinero me hariais un gran favor, muchas gracias de antemano.


    ResponderEliminar
  4. Excelente información y muy bien desarrollados los ejemplos, gracias.

    ResponderEliminar