Показать сообщение отдельно
  #3  
Старый 31.03.2009, 11:24
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Градусы, минуты, секунды в дробь
PHP код:
function GradMinSecToFloat(aIntegerReal) : Real;
begin
  Result
:= b/60 c/3600;
end

Дробь в градусы, минуты и секунды:
PHP код:
procedure FloatToGradMinSec(Float Real; var aIntegerReal);
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. Может быть можно как-то еще, но я не знаю
__________________
Auta i Lome...
Ответить с цитированием