thousands number java number-formatting

number - string format arguments java



Cómo formatear un número 0..9 para mostrar con 2 dígitos(NO es una fecha) (5)

En recursos de Android es bastante simple

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

Me gustaría mostrar siempre un número por debajo de 100 con 2 dígitos (ejemplo: 03, 05, 15 ...)

¿Cómo puedo agregar el 0 sin usar un condicional para verificar si es menor a 10?

Necesito agregar el resultado a otra cadena, por lo que no puedo usar printf.


La clase String viene con las habilidades de formato:

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

para la documentación completa, aquí está el doc


Puedes usar esto:

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


Puedes usar:

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

Ver también los javadocs


Si necesita imprimir el número, puede usar printf

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

Puedes usar

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

o

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

o

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