Uso del método Java String.format() - Codificación de conceptos N

Este artículo ilustra el uso de String.format() en Java con muchos ejemplos…

los String.format() El método se utiliza para generar cadenas formateadas, datos numéricos y de fecha/hora, y resultados específicos de la configuración regional. Esto requiere un formatear la cadena y lista de argumentos como entrante.

Índice
  1. 1. Sintaxis
  2. 2. Ejemplos de formato de cadena
  3. 3. Ejemplos de formato de número
  4. 4. Ejemplos de formato de fecha
  5. 5. Ejemplos de formatos de impresión

1. Sintaxis

//Returns a formatted string using the specified format string and arguments.
static String format(String format, Object... args)	

//Returns a formatted string using the specified locale, format string, and arguments.
static String format(Locale l, String format, Object... args)	

Veamos el especificador de formato antes de ver los ejemplos.

Sintaxis del especificador de formato
%[argument_index$][flags][width][.precision]conversion

O,

  • Opcional argumento_índice es la posición del argumento. El primer argumento es referenciado por $1el segundo por $2etc.
  • Opcional banderas es un conjunto de caracteres para modificar el formato de salida
    Si no se especifica, el resultado incluirá un espacio inicial para los valores positivos
    - El resultado se justificará a la izquierda.
    # El resultado debe utilizar una forma alternativa dependiendo de la conversión.
    + El resultado siempre incluirá un signo
    0 El resultado se rellenará con ceros.
    , El resultado incluirá separadores de grupo específicos de la configuración regional.
    ( El resultado pondrá números negativos entre paréntesis.
  • Opcional largo es el número mínimo de caracteres en la cadena de salida
  • Opcional precisión se utiliza para números flotantes para indicar números después de lugares decimales.
  • obligatorio conversión es un carácter que indica cómo se debe formatear
    s Donde S para cadena
    f para números de coma flotante
    d para enteros
    t para fecha y hora
    n por el salto de línea

2. Ejemplos de formato de cadena

2.1 Modelo de cadena

String[] fruits = new String[] {"Mango", "Grapes", "Banana", "Kiwi"};

// String Concat
System.out.println(String.format("My favourite fruits are %1$s, %2$s, %3$s and %4$s", fruits));

//Reverse String Concat
System.out.println(String.format("My favourite fruits are %4$s, %3$s, %2$s and %1$s", fruits));

Usamos el entrenador %1$s, %2$s, %3$s, %4$s para especificar la posición de los argumentos de cadena y %n para el salto de línea.

Output

My favourite fruits are Mango, Grapes, Banana and Kiwi My favourite fruits are Kiwi, Banana, Grapes and Mango

2.2 Salto de cuerda

El formato de cadena se puede usar para crear una cadena de varias líneas en Java

System.out.println(String.format("Address:-%nUnit 505,%n32 Cross Street", null));

Output

Address:- Unit 505, 32 Cross Street

2.3 Relleno de cuerdas

El siguiente formato de cadena agregará 10 caracteres de relleno a la izquierda loco
%13s dice que la salida tendrá un ancho mínimo de 13, incluyendo loco longitud, que es 3 so (13 - 3 =) 10 espacio de relleno izquierdo.

System.out.println(String.format("%13s", "foo"));

Output

foo

3. Ejemplos de formato de número

3.1 Decimales flotantes

System.out.println(Math.PI);

// Rounding off Decimal Places      
System.out.println(String.format("%.1f", Math.PI));
System.out.println(String.format("%.5f", Math.PI));
System.out.println(String.format("%.10f", Math.PI));

Usamos el entrenador %.1f, %.5fy %.10f para mostrar respectivamente 1, 5 y 10 decimales de PI.

Output

3.141592653589793 3.1 3.14159 3.1415926536

3.2 Relleno flotante

// Min Width with leading spaces
System.out.println(String.format("%10f", Math.PI));
System.out.println(String.format("%20f", Math.PI));
System.out.println(String.format("%30f", Math.PI));

Usamos el entrenador %10f, %20fy %30f para mostrar un mínimo de 10, 20 y 30 caracteres con un espacio inicial respectivamente. Vemos esta longitud de cadena 2.141593 es de 8 caracteres, lo que da como resultado un relleno de 2, 12 y 22 caracteres respectivamente.

Output

3.141593 3.141593 3.141593

3.3 Números de coma flotante negativos

// +ve Floating Numbers
System.out.println(String.format("%+20.5f", Math.PI));     // + Flag show sign
System.out.println(String.format("%020.5f", Math.PI));     // 0 Flag for leading zeros
System.out.println(String.format("%(20.5f", Math.PI));    // ( Flag to show -ve numbers in parentheses

// -ve Floating Numbers
System.out.println(String.format("%+20.5f", -Math.PI));
System.out.println(String.format("%020.5f", -Math.PI));
System.out.println(String.format("%(20.5f", -Math.PI)); 

Output

+3.14159 00000000000003.14159 3.14159 -3.14159 -0000000000003.14159 (3.14159)

3.4 Flotante con configuración regional

//Locale Specific
System.out.println(String.format(Locale.FRANCE, "%f", Math.PI));
System.out.println(String.format(Locale.FRANCE, "%f", -Math.PI));  

Output

3,141593 -3,141593

3.5 Dar formato al número con comas

System.out.println(String.format("%,d", 1234567890));

Output

1,234,567,890

4. Ejemplos de formato de fecha

4.1 Formato de fecha y hora local

LocalDateTime date = LocalDateTime.parse("1986-08-22T05:45:59");

System.out.println(String.format("My Birth Date is %1$te-%1$tm-%1$tY %1tT", date));
System.out.println(String.format("I was born on %1$teth %1tB, %1$tY", date));

Output

My Birth Date is 22-08-1986 05:45:59 I was born on 22th August, 1986

4.2 Formato de fecha local

Formatear LocalDate a aaaammdd

LocalDate date = LocalDate.parse("2020-12-25");
// yyyymmdd
System.out.println(String.format("%1$tY%1$tm%1$te", date));

Output

20201225

5. Ejemplos de formatos de impresión

5.1 System.out.printf y System.out.format

Si solo necesita imprimir una salida formateada y no necesita que la salida se devuelva como una cadena, puede usar System.out.printf Donde System.out.format al lugar.

String print = "Hello World !!!";

System.out.println(String.format("Saying - %s", print));

System.out.printf("Saying - %s", print);

System.out.format("Saying - %s", print);

Los tres Sistema.fuera imprimir la misma salida

Output

Saying - Hello World !!! Saying - Hello World !!! Saying - Hello World !!!

Si quieres conocer otros artículos parecidos a Uso del método Java String.format() - Codificación de conceptos N puedes visitar la categoría Tutoriales.

Deja un comentario

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

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas