Hoe kan ik een geheel getal opvullen met nullen aan de linkerkant?

Hoe vul je een int met nullen bij het converteren naar een String in java?

Ik ben eigenlijk op zoek om gehele getallen tot 9999 op te vullen met voorloopnullen (bijv. 1 = 0001).

Oplossing

Gebruik java.lang.String.format(String,Object...) als volgt:

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

voor zero-padding met een lengte van 5. Voor hexadecimale uitvoer vervangt u de d door een x zoals in "%05x".

De volledige opmaak opties zijn gedocumenteerd als onderdeel van java.util.Formatter.

Commentaren (11)

Als u om wat voor reden dan ook pre 1.5 Java gebruikt, kunt u het proberen met Apache Commons Lang methode

org.apache.commons.lang.StringUtils.leftPad(String str, int size, '0')
Commentaren (0)

Ik vond dit voorbeeld... Ik zal het testen...

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));
    }
}

Ik heb dit getest en..:

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

Beide werken, voor mijn doeleinden denk ik dat String.Format beter en beknopter is.

Commentaren (4)