Как отформатировать число 0..9 для отображения с 2 цифрами (это не дата)


Я хотел бы всегда показывать число под 100 с 2 цифрами (пример: 03, 05, 15...)

Как я могу добавить 0 без использования условного, чтобы проверить, если он находится под 10?

Мне нужно добавить результат в другую строку, поэтому я не могу использовать printf.

5 147

5 ответов:

вы можете использовать:

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

см. также javadocs

Если вам нужно напечатать номер, вы можете использовать printf

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

можно использовать

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

или

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

или

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

вы можете использовать это:

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

класс String поставляется с возможностями форматирования:

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

для полной документации, вот это doc

в Android ресурсах это довольно просто

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