2012-09-14 3 views

risposta

335

È possibile utilizzare:

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

Vedi anche il javadocs

+1

Che cosa succede se myNumber è un doppio? – Fra

+1

@Fra, quindi dovresti usare 'String.format ("% 02.0f ", myNumber)' se non vuoi i numeri dopo il punto decimale – beny23

41

Se avete bisogno di stampare il numero che si può usare printf

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

È possibile utilizzare

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

o

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

o

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

L'uso di un formato è di gran lunga il più lento, ma è più chiaro e meno improbabile che si sbagli terribilmente. per esempio. se num è -1. ;) –

29

È possibile utilizzare questo:

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

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

3

La classe String viene fornito con le capacità di formato:

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

per la documentazione completa, qui è il doc

+0

Dice 'java.util.IllegalFormatConversionException:% d non può formattare gli argomenti java.lang.Double' –

0

In risorse Android è piuttosto semplice

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