i am become pad added by zbigniew on Thu Oct 20 01:18:39 2011

(define (pad n c x)
  (let ((x (->string x)))
    (string-append
     (make-string (max 0 (- n (string-length x))) c)
     x)))
(define (zero-pad n x) (pad n #\0 x))
(define (hex n) (number->string n 16))

(pad 3 #\0 5)           ;=> "005"
(zero-pad 2 (hex 15))   ;=> "0f"
(zero-pad 2 (hex 31))   ;=> "1f"
(zero-pad 2 (hex 955))  ;=> "3bb"