2012-09-14 5 views

Odpowiedz

335

Można użyć:

String.format("%02d", myNumber) 

Zobacz także javadocs

+1

Co jeśli myNumber jest podwójnie? – Fra

+1

@Fra, wtedy użyłbyś 'String.format ("% 02.0f ", myNumber)' jeśli nie chcesz numerów po przecinku – beny23

41

Jeśli trzeba wydrukować liczbę można użyć printf

System.out.printf("%02d", num); 

Można użyć

String.format("%02d", num); 

lub

(num < 10 ? "0" : "") + num; 

lub

(""+(100+num)).substring(1); 
+1

Korzystanie z formatu jest zdecydowanie najwolniejsze, ale jest bardziej przejrzyste i mniej mało prawdopodobne, aby pójść okropnie źle. na przykład jeśli liczba to -1. ;) –

29

Można to wykorzystać:

NumberFormat formatter = new DecimalFormat("00"); 
String s = formatter.format(1); // ----> 01 
+0

NIce! .......... – Naitik

3

Klasa String posiada zdolności format:

System.out.println(String.format("%02d", 5)); 

do pełnej dokumentacji, tu jest doc

+0

To mówi 'java.util.IllegalFormatConversionException:% d nie można sformatować java.lang.Double argumentów' –

0

w Android zasobów to raczej proste

<string name="smth">%1$02d</string>