¿Cómo puedo rellenar un número entero con ceros a la izquierda?

Resuelto Omar Kooheji asked hace 15 años • 19 respuestas

¿Cómo dejaste el pad an intcon ceros al convertir a a Stringen java?

Básicamente estoy buscando completar números enteros hasta 9999con ceros a la izquierda (por ejemplo, 1 = 0001).

Omar Kooheji avatar Jan 23 '09 22:01 Omar Kooheji
Aceptado

Úselo java.lang.String.format(String,Object...)así:

String.format("%05d", yournumber);

para relleno de ceros con una longitud de 5. Para salida hexadecimal, reemplace dcon un xcomo en "%05x".

Las opciones de formato completas están documentadas como parte de java.util.Formatter.

Yoni Roit avatar Jan 23 '2009 15:01 Yoni Roit

Digamos que desea imprimir 11como011

Podrías usar un formateador : "%03d".

ingrese la descripción de la imagen aquí

Puedes usar este formateador de esta manera:

int a = 11;
String with3digits = String.format("%03d", a);
System.out.println(with3digits);

Alternativamente, algunos métodos de Java admiten directamente estos formateadores:

System.out.printf("%03d", a);
bvdb avatar Feb 20 '2016 11:02 bvdb

Si por algún motivo utiliza Java anterior a 1.5, puede probar con el método Apache Commons Lang.

org.apache.commons.lang.StringUtils.leftPad(String str, int size, '0')
Boris Pavlović avatar Jan 23 '2009 15:01 Boris Pavlović

Encontré este ejemplo... Probaré...

import java.text.DecimalFormat;
class TestingAndQualityAssuranceDepartment
{
    public static void main(String [] args)
    {
        int x=1;
        DecimalFormat df = new DecimalFormat("00");
        System.out.println(df.format(x));
    }
}

Probé esto y:

String.format("%05d",number);

Ambos funcionan, para mis propósitos creo que String.Format es mejor y más conciso.

Omar Kooheji avatar Jan 23 '2009 15:01 Omar Kooheji

Prueba este:

import java.text.DecimalFormat; 

DecimalFormat df = new DecimalFormat("0000");

String c = df.format(9);   // Output: 0009

String a = df.format(99);  // Output: 0099

String b = df.format(999); // Output: 0999
Brijesh Patel avatar Jun 25 '2018 14:06 Brijesh Patel