Alinear cadena a la izquierda

01/Nov/2009 Java , , 4 Comentarios
Programación en Java

Seguimos con los ejemplos de transformación de cadenas y después de ver cómo añadir ceros a la izquierda, ahora veremos como podemos alinear una cadena a la izquierda.

Para ello vamos a volver a utilizar la clase Formatter y el método format(). Aunque podríamos utilizar el método format directamente sobre la clase String. Veremos el ejemplo de las dos formas, ya que lo importante es el patrón de formato a aplicar.

Con la clase Formatter, lo primero será instanciarla.

Formatter fmt = new Formatter();

Lo siguiente ya será aplicar el formato:

Formatter fmt = new Formatter();
fmt = fmt.format("Contenido %-8d unidades", number);

El formato para alinear la cadena a la izquierda lo conseguiremos mediante el flag ‘-‘. Si recordamos el formato de la cadena de conversión sería el primer valor tras el del argumento.

%[argument_index$][flags][width]conversion

Para ver la justificación le damos un tamaño de 8 posiciones y el tipo de conversión será el ‘d’ para los números enteros. El código sería el siguiente:

int number = 4752;
Formatter fmt = new Formatter();
fmt = fmt.format("Contenido %-8d unidades", number);
System.out.println(fmt.toString());

Si queremos hacer esto directamente, sin la clase Formatter, sería utilizar el método format de la siguiente forma:

String formateado = String.format("Contenido %-8d unidades", number);		
System.out.println(formateado);

Vídeos sobre Java Util


4 comentarios en “Alinear cadena a la izquierda”

Víctor Cuervo

Eduardo Osorio

Estimado/a
Como puede dejar una lista de números en java alineados (justificados) a la derecha y con estilo millares
Ejemplo:
12.537
1.238
100.123
De tal forma que la unidad del 1er numero quede con la del 2do y 3ro (etc)
Muchas gracias
Edo.

Víctor Cuervo

Víctor Cuervo

Buenas Eduardo,

Dónde quieres alinearlos: ¿en consola? ¿en una aplicación web? ¿en un JFrame? ?¿

Saludos

Víctor Cuervo

lineadecodigo

@Jorge Wander,

En primer lugar gracias por los agradecimientos. En nuestro ánimo está el poder ayudar a la gente con explicaciones claras y sencillas.

Lo que estás haciendo con esta sentencia es componer una frase, en la cual %-8d es el parámetro a sustituir por el valor de number.

Tu puedes poner la frase que más te guste:

fmt = fmt.format(”La gallina puso %-8d huevos”, number);
fmt = fmt.format(”Podemos quedar a las  %-8d”, number);

O directamente sin frase:

fmt = fmt.format(”%-8d”, number);

Espero que te sirva la explicación

Víctor Cuervo

Jorge Wander

saludos a todos, su pagina es una de las mejores de las que me e encontrado por su forma de explicar las cosas, y por lo sencilla y amigable que es. de verda que si.

bueno. tengo una duda, y es respecto a la siguiente linea de codigo

fmt = fmt.format(«Contenido %-8d unidades», number);

para que se da como parametro -> «Contenido %-8d unidades»

es decir, no entiendo, primero la cadena Contenido, para que la uso y por que? hay otras cadenas en ves de Contenido que puedo usar en su lugar?. y esta el %-8d, que es lo que hace esto realmente? (paso a paso), y luego esta «unidades», se puede colocar otra cosa?

gracias de antemano.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.