Java конвертировать любое целое число в 4 цифры - PullRequest
19 голосов
/ 11 октября 2011

Это кажется простым вопросом.Одно из моих заданий в основном отправляет время в военном формате (например, 1200, 2200 и т. Д.) В мой класс.

Как я могу заставить преобразовать целое число в 4 цифры, когда оно получено моим классом?Например, если время отправки составляет 300, оно должно быть преобразовано в 0300.

РЕДАКТИРОВАТЬ: оказывается, мне это не нужно для моей проблемы, поскольку мне просто нужно было сравнить значения.Спасибо

1 Ответ

37 голосов
/ 11 октября 2011

Все так просто:

String.format("%04d", 300)

Для сравнения часов до минут:

int time1 =  350;
int time2 = 1210;
//
int hour1 = time1 / 100;
int hour2 = time2 / 100;
int comparationResult = Integer.compare(hour1, hour2);
if (comparationResult == 0) {
    int min1 = time1 % 100;
    int min2 = time2 % 100;
    comparationResult = Integer.compare(min1, min2);
}

Примечание:

Integer.compare(i1, i2) был добавлен в Java 1.7, для предыдущей версии вы можете использовать Integer.valueOf(i1).compareTo(i2) или

int comparationResult;
if (i1 > i2) {
    comparationResult = 1;
} else if (i1 == i2) {
    comparationResult = 0;
} else {
    comparationResult = -1;
}
...