Kako lahko celo število zapolnim z ničlami na levi strani?

Kako pri pretvorbi v Najstico v javi levo zapolnite int z ničlami?

V bistvu želim cela števila do 9999 zapolniti z ničlami (npr. 1 = 0001).

Rešitev

Uporabite java.lang.String.format(String,Object...) na naslednji način:

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

za ničelno označevanje z dolžino 5. Za šestnajstiški izpis zamenjajte d z x kot v "%05x".

Vse možnosti formatiranja so dokumentirane kot del java.util.Formatter.

Komentarji (11)

Če iz kakršnegakoli razloga uporabljate Javo pred 1.5, lahko poskusite z metodo Apache Commons Lang

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

Našel sem ta primer... Preizkusil bo...

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

Preizkusil to in:

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

Oba delujeta, vendar menim, da je String.Format za moje namene boljši in bolj jedrnat.

Komentarji (4)