2012-09-14 12 views

Respuesta

335

Se puede utilizar:

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

Véase también el javadocs

+1

¿Qué pasa si myNumber es un doble? – Fra

+1

@Fra, entonces usaría 'String.format ("% 02.0f ", myNumber)' si no quiere los números después del punto decimal – beny23

41

Si necesita imprimir el número puede utilizar printf

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

Puede utilizar

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

o

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

o

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

El uso de un formato es con mucho el más lento, pero es más claro y menos poco probable que vaya terriblemente mal. p.ej. si num es -1. ;) –

29

Se puede utilizar esta:

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

¡Bien! .......... – Naitik

3

La clase String viene con las capacidades de formato:

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

para la documentación completa, aquí es el doc

+0

Dice 'java.util.IllegalFormatConversionException:% d no puede formatear java.lang.Double arguments' –

0

En recursos androide que es bastante simple

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