如何使用Racket格式化输出

7

我该如何使用racket格式化输出?我想要输出一个固定宽度的数字,并在宽度太小时用0填充。我该怎么做?我已经搜索了racket文档,但只找到了fprintf,似乎无法实现这个功能。

2个回答

12
你可以使用racket/format模块中的函数。例如:~a
#lang racket
(require racket/format)
(~a 42 
    #:align 'right
    #:width 4
    #:pad-string "0")

返回值

"0042"

4
#!racket中,format不如C语言中的sprintf丰富。一种解决方法是自己动手:
(require srfi/13)
(string-pad (number->string 23) 4 #\0) ; ==> "0023" 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接