Convert number to list of digits
问题 How do I convert a number to a list of digits? I am currently doing: ;; (num->list 12345) -> '(1 2 3 4 5) (define (num->list n) (local ((define (num->list n) (map (lambda (c) (char->num c)) (string->list (number->string n)))) (define (char->num c) (- (char->integer c) 48))) (num->list n))) but would like to know if there's a better way. 回答1: This is the digits function of my Standard Prelude: (define (digits n . args) (let ((b (if (null? args) 10 (car args)))) (let loop ((n n) (d '())) (if