Градусы, минуты, секунды в дробь
PHP код:
function GradMinSecToFloat(a, b : Integer; c : Real) : Real;
begin
Result:= a + b/60 + c/3600;
end;
Дробь в градусы, минуты и секунды:
PHP код:
procedure FloatToGradMinSec(Float : Real; var a, b : Integer; c : Real);
var Str : String;
br : Real;
begin
// Получаем градусы
a:= Floor(Float);
Float:= Float - a;
Str:= FloatToStr(Float);
Float:= Float - StrToFloat('0.' + Str[3] + Str[4]);
// Получаем НЕЦЕЛЫЕ минуты
br:= StrToFloat('0.' + Str[3] + Str[4]) * 60;
// Получаем целые минуты
b:= Floor(br);
// Секунды: остаток от минут + остаток от дроби * 3600
c:= (br - b) * 60 + Float * 3600;
end;
P.S. Может быть можно как-то еще, но я не знаю
