Kaip užpildyti sveikąjį skaičių nuliais kairėje pusėje?

Kaip konvertuojant int į String Java sistemoje, kairiąją int padalinti nuliais?

Aš iš esmės noriu, kad sveikieji skaičiai iki 9999 būtų papildyti nuliais (pvz., 1 = 0001).

Sprendimas

Naudokite java.lang.String.format(String,Object...) taip:

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

jei norite įrašyti 5 ilgio nulinę eilutę. Jei norite išvesti šešioliktainę reikšmę, pakeiskite d į x, kaip "%05x".

Visos formatavimo parinktys aprašytos kaip java.util.Formatter dalis.

Komentarai (11)

Jei dėl kokių nors priežasčių naudojate "Java" iki 1.5 versijos, galite pabandyti naudoti "Apache Commons Lang" metodą

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

Radau šį pavyzdį... Bus išbandyti...

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

Išbandyta ir:

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

Abu veikia, bet manau, kad mano tikslams String.Format yra geresnis ir glaustesnis.

Komentarai (4)