В Racket вы можете использовать ~r
для преобразования числа в строку при управлении заполнением, минимальной шириной и т. Д. Следующим образом:
(~r 7 #:min-width 3 #:pad-string "0")
=> "007"
Но, так как вы также хотите установить максимальную ширину, которая обрезает любые цифры после третьей позиции слева, вы можете применить substring
к вновь преобразованной строке следующим образом:
(substring (~r 3141592 #:min-width 3 #:pad-string "0") 0 3)
=> "314"
Вот пример pad3
реализации:
(define (pad3 num)
(substring (~r num #:min-width 3 #:pad-string "0") 0 3))