Конвертировать с 1 по 01

У меня есть int между 1 - 99. Как мне получить его всегда быть двойной цифрой, то есть: 01, 04, 21?

Ответы

Ответ 1

Еще один способ

String text = (num < 10 ? "0" : "") + num;

EDIT: код достаточно короткий, чтобы JIT мог скомпилировать его ни к чему.;)

long start = System.nanoTime();
for(int i=0;i<100000;i++) {
    for(int num=1;num<100;num++) {
        String text = (num < 10 ? "0" : "") + num;
    }
}
long time = System.nanoTime() - start;
System.out.println(time/99/100000);

печатает

0

Ответ 2

Предположительно, вы хотите сохранить номер в строке.

Поскольку JDK1.5 был String.format(), который позволит вам делать именно то, что вы хотите:

String s = String.format("%02d", someNumber);

Одна из приятных вещей в String.format() заключается в том, что вы можете использовать ее для создания более сложных строк, не прибегая к большому количеству конкатенаций, что приводит к значительно более чистым кодам.

String logMessage = String.format("Error processing record %d of %d: %s", recordNumber, maxRecords, error);

Ответ 3

Вы можете сделать это с помощью NumberFormat:

NumberFormat format = new NumberFormat();
format.setMinimumIntegerDigits(2);
System.out.println(format.format(1));

Примечание - String.format() - это метод Java 5.

Если вы используете Java 5 или выше, вы можете:

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

как указано в других ответах.

Ответ 4

Использование

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

Вероятно, это лучший вариант.

Ответ 5

Попробуйте это

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

Ответ 6

Вы не можете сделать это, просто используя int. Вам придется конвертировать между строк (для отображения) и обратно в int (для расчетов). Вы можете использовать Java Formatter для форматирования строк на основе ввода.

Ответ 7

Вы можете сделать это с помощью

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

Ответ 9

Одно из возможных решений:

String.valueOf(number + 100).substring(1);

Ответ 10

Я думаю, я должен добавить официальную документацию Java здесь о форматировании числовых выходов.

https://docs.oracle.com/javase/tutorial/java/data/numberformat.html

Образец Отрывок: печатает от 00 до 100

class Main {
    public static void main(String[] args) {
      for(int i=0;i<=100;i++){
        System.out.println(String.format("%02d", i)); 
      }
    }
}

Выход:

00
01
...
10
...
100