<?php
$horasTrabalhadas = fixHour(11.40); // 11:40h
$horasSemanais = fixHour(0.25); // 25 minutos
$total = fixHour($horasTrabalhadas + $horasSemanais);
echo $total; // Saída: 12.05
function fixHour($num)
{
$decimal = $num - floor($num); // A função floor arredonda o número para o próximo menor valor inteiro
if ($decimal >= 0.60) {
$num = ($num + 1) - 0.60;
return fixHour($num); // Recursão
}
return $num;
}
PD9waHAKCiRob3Jhc1RyYWJhbGhhZGFzID0gZml4SG91cigxMS40MCk7IC8vIDExOjQwaAokaG9yYXNTZW1hbmFpcyA9IGZpeEhvdXIoMC4yNSk7IC8vIDI1IG1pbnV0b3MKJHRvdGFsID0gZml4SG91cigkaG9yYXNUcmFiYWxoYWRhcyArICRob3Jhc1NlbWFuYWlzKTsKCmVjaG8gJHRvdGFsOyAvLyBTYcOtZGE6IDEyLjA1CgpmdW5jdGlvbiBmaXhIb3VyKCRudW0pCnsKICAgICRkZWNpbWFsID0gJG51bSAtIGZsb29yKCRudW0pOyAvLyBBIGZ1bsOnw6NvIGZsb29yIGFycmVkb25kYSBvIG7Dum1lcm8gcGFyYSBvIHByw7N4aW1vIG1lbm9yIHZhbG9yIGludGVpcm8KCiAgICBpZiAoJGRlY2ltYWwgPj0gMC42MCkgewogICAgICAgICRudW0gPSAoJG51bSArIDEpIC0gMC42MDsKICAgICAgICByZXR1cm4gZml4SG91cigkbnVtKTsgLy8gUmVjdXJzw6NvCiAgICB9CgogICAgcmV0dXJuICRudW07Cn0=