; convert ratio to decimal (define (decimal num denom digits) (let loop ((num (* (modulo num denom) 10)) (out (cons #\. (reverse (string->list (number->string (quotient num denom)))))) (digits digits)) (if (zero? digits) (list->string (reverse out)) (loop (* (modulo num denom) 10) (cons (integer->char (+ (quotient num denom) 48)) out) (- digits 1))))) (display (decimal 3227 557 30)) (newline)