feed twitter facebook LinkedIn facebook

Java » Añadir ceros a la izquierda

Octubre 28, 2009 por Víctor Cuervo . 4830 visitas 5 Comentarios Imprimir Imprimir

Cuando nos comunicamos con sistemas legados nos encontramos muchos casos en los cuales los tamaños de los números son fijos. Y en estos casos hay que rellenar la información con ceros a la izquierda para que el sistema pueda dar una respuesta.

Para estos casos podemos jugar con la clase Formatter, la cual nos ayudará a formatear diferentes elementos, aplicando una cadena de formato y mediante el método .format().

Dos simples líneas de código. La primera será intanciar la clase:

  1. Formatter fmt = new Formatter();

La segunda, aplicar el formato:

  1. fmt.format("%08d",numero);

Lo importante para añadir ceros a la izquierda es el formato a aplicar "%08d". Si entramos en detalle en este formato vemos que en todo formato se identifican las siguientes partes:

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

1. argument_index, es el id del argumento al que queremos aplicar el formato. Esto se aplica si tenemos varios elementos a formatear a la vez.
Por ejemplo:

  1. int numero = 425;
  2. fmt.format("Primer número %1$08d - Segundo número %2$08d ",numero,numero2);

Vemos que el formateador empieza por %1$ o %2$ indicando el elemento (numero o numero2) sobre el que aplica el formato.

2. flags, son las conversiones a aplicar al elemento. Las conversiones dependen del tipo de conversión que efectuemos. La indicada en la parte de conversión. Algunos tipos de flags son: '-' para la justificación a izquierda, '+' para incluir los signos,... y el que nos interesa en nuestro caso '0' que rellena el tamaño a ceros.

3. width, es el tamaño que le queremos dar al resultado. En nuestro caso le damos un tamaño de 8 dígitos. Y como el número es de 3 dígitos, tendremos 5 ceros a la izquierda

4. conversion, tipo de conversión a realizar: 'd' para enteros (nuestro caso), 'o' para octales,...

Veamos el código completo:

  1. int numero = 425;
  2.  
  3. Formatter fmt = new Formatter();
  4. fmt.format("%08d",numero);
  5.  
  6. System.out.println("El numero formateado " + fmt);
Descargar el Codigo
Descargar el código
Error en el Codigo
Error en el código
Foro sobre Java
Foro sobre Java
tags: , , , ,

Artículos relacionados:

5 comentarios »

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

  1. Linea de Codigo » Alinear cadena a la izquierda
    Noviembre 1, 2009 #

    [...] Añadir ceros a la izquierda [...]

  2. Alberto
    Noviembre 19, 2009 #

    Añadir ceros a la izquierda la verdad es que es bastante útil!

    Un saludo

  3. lineadecodigo
    Noviembre 19, 2009 #

    @Alberto,

    Para la gente que trabaja desde Java contra sistemas Host, es algo del día a día. :-)

  4. Danilo ROjas
    Marzo 13, 2012 #

    GRACIAS HERMANO ME SALVASTE!

  5. Víctor Cuervo
    Marzo 13, 2012 #

    @Danilo ROjas,
    Eso está muy bien. Me alegro que te haya salvado. Espero poder seguir haciéndolo.

Deje un comentario

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

*