如何在Clojure中使用空格作为分隔符格式化数字?

Nic*_*ick 0 clojure

例如,我可以使用逗号作为分隔符进行格式化:

(format "%,d"(BigInteger. "fffff" 16))
;=> 1,048,575
Run Code Online (Sandbox Code Playgroud)

是否可以使用空格:

1 048 575 ?
Run Code Online (Sandbox Code Playgroud)

sch*_*eho 6

你可以使用cl-formatfrom clojure.pprint,这是Common Lisp相当广泛和非常强大的格式的实现

 user=> (cl-format nil "The answer is ~,,' :D" 123456789)
 "The answer is 123 456 789"
Run Code Online (Sandbox Code Playgroud)

cl-format像Clojure的常规format,CL 有几个指令,这里D有数字.该:修饰符告诉它要打印的数字组之间的逗号,但是,'第二个逗号后面指定使用空格作为逗号字符使用.