example java integer format zero-pad

example - Java convierte cualquier entero a 4 dígitos



text panel java (1)

Esto parece una pregunta fácil. Una de mis tareas básicamente envía una hora en formato militar (como 1200 , 2200 , etc.) a mi clase.

¿Cómo puedo forzar que el número entero se convierta a 4 dígitos cuando lo reciba mi clase? Por ejemplo, si el tiempo que se envía es 300 , debería convertirse a 0300 .

EDITAR: resulta que no necesitaba esto para mi problema ya que solo tenía que comparar los valores. Gracias


Tan sencillo como eso:

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

Para comparar horas antes de minutos:

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

Nota:

Integer.compare(i1, i2) se ha agregado en Java 1.7, para la versión anterior puede usar Integer.valueOf(i1).compareTo(i2) o

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