Saltar al contenido principal

Dart: Convertir un número entero a horas y minutos

Youtube video player

Youtube video player

En este problema tenemos que convertir un número entero dado a horas y minutos separados por dos puntos. Por ejemplo si el número dado es 68 entonces el resultado es 1:8

Ejemplos

Entrada: 128
Salida: 2:8
Entrada: 35
Salida: 0:35

Solución

Este problema es muy sencillo. Si dividimos entre 60 obtenemos el número de horas. Por lo que podemos utilizar la división con resultado entero ~/:

Por ejemplo el resultado de 128 ~/ 60 son 2 horas. Y para obtener los minutos podemos utilizar el módulo %. El resultado del módulo es el residuo de la división por lo que 128 % 60 son 8 minutos.

Se puede ver más claro en la siguiente imagen:

El resultado es 2:8

El resultado es 2:8

Entonces la solución final quedara asi:

void main() {

int num = 128;
print('${(num ~/ 60)}:${num % 60}');

}

Solución en DartPad