Java 将任意整数转换为 4 位数字

2022-09-01 22:40:30

这似乎是一个简单的问题。我的一个作业基本上以军事格式(如,等)发送到我的班级。12002200

如何强制将整数转换为 4 位数字(当我的班级收到它)时?例如,如果发送的时间是 ,则应将其转换为 。3000300

编辑:事实证明,我不需要这个来解决问题,因为我只需要比较值。谢谢


答案 1

就这么简单:

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;
}

答案 2

String a = String.format("%04d", 31200).substring(0, 4);
/**Output: 3120 */ 
System.out.println(a);


String b = String.format("%04d", 8).substring(0, 4);
/**Output: 0008 */
System.out.println(b);