<?php
// Nutro as variáveis com o mesmo valor e o mesmo tipo de Type
// Mas uma de forma direta e outra via uma function.
$A = 1.01694444444; // Esta dá o retorno errado da function Func_1
$B = Func_2('01:01:01'); // Esta dá o retorno correto da function Func_1
echo $A . '<br />' . $B;
echo "<br /><br />";
// Mas o resultado dos cálculos da function abaixo é diferente
echo Func_1($A) . '<br />' . Func_1($B);
function Func_2($time){
return ($hms[0] + ($hms[1]/60) + ($hms[2]/3600));
}
function Func_1($dec){
$seconds = round($dec * 3600); $seconds -= $hours * 3600;
$minutes = floor($seconds / 60); $seconds -= $minutes * 60;
return lz($hours).":".lz($minutes).":".lz($seconds);
}
function lz($num){
return (strlen($num) < 2) ?
"0{$num}" : $num; }
?>
PD9waHAKLy8gTnV0cm8gYXMgdmFyacOhdmVpcyBjb20gbyBtZXNtbyB2YWxvciBlIG8gbWVzbW8gdGlwbyBkZSBUeXBlCi8vIE1hcyB1bWEgZGUgZm9ybWEgZGlyZXRhIGUgb3V0cmEgdmlhIHVtYSBmdW5jdGlvbi4KJEEgPSAxLjAxNjk0NDQ0NDQ0OyAvLyBFc3RhIGTDoSBvIHJldG9ybm8gZXJyYWRvIGRhIGZ1bmN0aW9uIEZ1bmNfMQokQiA9IEZ1bmNfMignMDE6MDE6MDEnKTsgLy8gRXN0YSBkw6EgbyByZXRvcm5vIGNvcnJldG8gZGEgZnVuY3Rpb24gRnVuY18xCgplY2hvICRBIC4gJzxiciAvPicgLiAkQjsKCmVjaG8gIjxiciAvPjxiciAvPiI7CgovLyBNYXMgbyByZXN1bHRhZG8gZG9zIGPDoWxjdWxvcyBkYSBmdW5jdGlvbiBhYmFpeG8gw6kgZGlmZXJlbnRlCmVjaG8gRnVuY18xKCRBKSAuICc8YnIgLz4nIC4gRnVuY18xKCRCKTsKCmZ1bmN0aW9uIEZ1bmNfMigkdGltZSl7CiAgICRobXMgPSBleHBsb2RlKCI6IiwgJHRpbWUpOwogICByZXR1cm4gKCRobXNbMF0gKyAoJGhtc1sxXS82MCkgKyAoJGhtc1syXS8zNjAwKSk7Cn0KCmZ1bmN0aW9uIEZ1bmNfMSgkZGVjKXsKICAgJHNlY29uZHMgPSByb3VuZCgkZGVjICogMzYwMCk7CiAgICRob3VycyA9IGZsb29yKCRkZWMpOwogICAkc2Vjb25kcyAtPSAkaG91cnMgKiAzNjAwOwogICAkbWludXRlcyA9IGZsb29yKCRzZWNvbmRzIC8gNjApOwogICAkc2Vjb25kcyAtPSAkbWludXRlcyAqIDYwOwogICByZXR1cm4gbHooJGhvdXJzKS4iOiIubHooJG1pbnV0ZXMpLiI6Ii5seigkc2Vjb25kcyk7Cn0gCgpmdW5jdGlvbiBseigkbnVtKXsKICAgcmV0dXJuIChzdHJsZW4oJG51bSkgPCAyKSA/ICIweyRudW19IiA6ICRudW07IAp9Cj8+