feed twitter facebook LinkedIn facebook

Java » Alinear cadena a la izquierda

Noviembre 1, 2009 por Víctor Cuervo . 4091 visitas 2 Comentarios Imprimir Imprimir

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.

  1. Formatter fmt = new Formatter();

Lo siguiente ya será aplicar el formato:

  1. Formatter fmt = new Formatter();
  2. 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:

  1. int number = 4752;
  2. Formatter fmt = new Formatter();
  3. fmt = fmt.format("Contenido %-8d unidades", number);
  4. 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:

  1. String formateado = String.format("Contenido %-8d unidades", number);
  2. System.out.println(formateado);
Descargar el Codigo
Descargar el código
Error en el Codigo
Error en el código
Foro sobre Java Util
Foro sobre Java Util
tags: , , , , ,

Artículos relacionados:

2 comentarios »

Redifusión RSS de los comentarios de la entrada. TrackBack URI

  1. Jorge Wander
    Diciembre 21, 2009 #

    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.

  2. lineadecodigo
    Diciembre 21, 2009 #

    @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

Deje un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*