Πώς μπορώ να γεμίσω έναν ακέραιο με μηδενικά στα αριστερά;

Πώς αριστερά pad ένα int με μηδενικά κατά τη μετατροπή σε String στη java?

Βασικά ψάχνω να συμπληρώσω ακέραιους αριθμούς μέχρι το 9999 με μηδενικά μπροστά (π.χ. 1 = 0001).

Λύση

Χρησιμοποιήστε java.lang.String.format(String,Object...) ως εξής:

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

για μηδενική συμπλήρωση με μήκος 5. Για δεκαεξαδική έξοδο αντικαταστήστε το d με ένα x όπως στο "%05x".

Οι πλήρεις επιλογές μορφοποίησης τεκμηριώνονται ως μέρος του java.util.Formatter.

Σχόλια (11)

Αν για οποιονδήποτε λόγο χρησιμοποιείτε Java πριν από την έκδοση 1.5, τότε μπορείτε να δοκιμάσετε με τη μέθοδο Apache Commons Lang

org.apache.commons.lang.StringUtils.leftPad(String str, int size, '0')
Σχόλια (0)

Βρήκα αυτό το παράδειγμα... Θα δοκιμάσω...

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

Το δοκίμασα αυτό και:

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

Και τα δύο λειτουργούν, για τους σκοπούς μου νομίζω ότι το String.Format είναι καλύτερο και πιο περιεκτικό.

Σχόλια (4)