Конвертировать с 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)
Ответ 8
использовать формат номера
http://download.oracle.com/javase/6/docs/api/java/text/NumberFormat.html
Ответ 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