Это зависит от вашего исходного формата. Если он уже разделен на градусы (d), минуты (m) и секунды (s), ваш алгоритм:
(при условии, что d может быть положительным или отрицательным)
dd = Math.signum(d) * (Math.abs(d) + (m / 60.0) + (s / 3600.0));
Если он объединен в строку, обычный формат:
"ddd.mmss"
Итак, проанализируйте с помощью регулярного выражения или String.substring (), чтобы получить m и s.
Обратное преобразование:
d = (int)dd; // Truncate the decimals
t1 = (dd - d) * 60;
m = (int)t1;
s = (t1 - m) * 60;