Bueno... Ahí va otra idea. 4.5 son 4 horas y media. Una hora son 60 minutos, por tanto media hora son 30 minutos. Ahora, en PHP:
Código PHP:
Ver original$numero = 4.5; // Si entra como string, transformarlo a float
$horas = (int) $numero; // Aquí tienes el 4
$tmp = $numero - $horas; // aquí tienes 0.5 (es decir, la media hora)
$minutos = $tmp * 60; // Y aquí tendrás el 30
$resultado = sprintf("%02d:%02d", $horas, $minutos); // Esto será "04:30"