(define (degrees->radians deg min sec)
  (/ (+ deg (/ min 60) (/ sec 60 60)) 57.2957795))

(define (radians->degrees rad)
  (let* ((r (* rad 57.2957795))
         (d (floor r))
         (m (floor (* (- r d) 60)))
         (s (round (* (- (* (- r d) 60) m) 60))))
    (values (inexact->exact d)
            (inexact->exact m)
            (inexact->exact s))))

(display (degrees->radians 47 6 38)) (newline)
(call-with-values
  (lambda () (radians->degrees 0.822234307))
  (lambda (d m s)
    (display d) (display " ")
    (display m) (display " ")
    (display s) (newline)))