There is probably a more elegant of doing this but.
(defun deg->dms (num)
(setq d (fix num)
m (fix (* (- num (fix num)) 60))
s (atoi (rtos (* (rem (* (- num (fix num)) 60) 1) 60) 2 0))
)
(if (< m 10)
(setq m (strcat "0" (itoa m)))
(setq m (itoa m))
)
(if (< s 10)
(setq s (strcat "0" (itoa s)))
(setq s (itoa s))
)
(atof (strcat (itoa d) "." m s))
)