Ir al contenido

Añadir ceros a la izquierda

Cuando nos comunicamos con sistemas legados (o “legacy” si quieres utilizar el anglicismo), es habitual encontrar campos numéricos con una longitud fija. En esos casos debemos completar el valor con ceros a la izquierda para que el sistema pueda procesarlo correctamente.

Para resolverlo podemos utilizar la clase Formatter, que permite aplicar una cadena de formato mediante el método .format().

Primero creamos una instancia de Formatter:

Formatter fmt = new Formatter();

Después aplicamos el formato al número:

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

La parte esencial del ejemplo es el patrón %08d. La estructura general de una cadena de formato es:

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

    Identifica el argumento al que se aplicará el formato cuando hay varios valores. Por ejemplo:

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

    Los indicadores %1$ y %2$ señalan, respectivamente, el primer y el segundo argumento que se deben formatear.

  2. flags

    Los indicadores modifican la forma en la que se presenta el valor. Algunos de los más habituales son:

    • -: justifica el contenido a la izquierda.
    • +: incluye el signo del número.
    • 0: completa con ceros hasta alcanzar la longitud indicada.
  3. width

    Define la longitud total del resultado. En este ejemplo usamos un ancho de ocho dígitos. Como 425 tiene tres dígitos, se añaden cinco ceros a la izquierda.

  4. conversion

    Indica el tipo de conversión que se realizará:

    • d: número entero decimal.
    • o: número entero octal.

El ejemplo completo queda así:

int numero = 425;
Formatter fmt = new Formatter();
fmt.format("%08d", numero);
System.out.println("El número formateado es " + fmt);

El resultado será:

El número formateado es 00000425
Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Añadir ceros a la izquierda

Descubre cómo Añadir ceros a la izquierda en Java con Formatter y el patrón %08d para generar números de longitud fija, fiable para sistemas legados.

Descargar código