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