Πώς αριστερά pad ένα int
με μηδενικά κατά τη μετατροπή σε String
στη java?
Βασικά ψάχνω να συμπληρώσω ακέραιους αριθμούς μέχρι το 9999
με μηδενικά μπροστά (π.χ. 1 = 0001
).
Χρησιμοποιήστε java.lang.String.format(String,Object...)
ως εξής:
String.format("%05d", yournumber);
για μηδενική συμπλήρωση με μήκος 5. Για δεκαεξαδική έξοδο αντικαταστήστε το d
με ένα x
όπως στο "%05x"
.
Οι πλήρεις επιλογές μορφοποίησης τεκμηριώνονται ως μέρος του java.util.Formatter
.
Αν για οποιονδήποτε λόγο χρησιμοποιείτε Java πριν από την έκδοση 1.5, τότε μπορείτε να δοκιμάσετε με τη μέθοδο Apache Commons Lang
org.apache.commons.lang.StringUtils.leftPad(String str, int size, '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 είναι καλύτερο και πιο περιεκτικό.