在Clojure中将比率格式化为百分比

weg*_*gry 4 clojure string-formatting

这似乎应该是显而易见的,但是如何将Clojure的比率类型转换为百分比?

(format "%3s" (/ 1 2))
;; "1/2"

(format "%3f" (/ 1 2))
;; Throws an error
Run Code Online (Sandbox Code Playgroud)

zer*_*323 6

您始终可以转换为Float:

(format "%3f" (float (/ 1 2)))
Run Code Online (Sandbox Code Playgroud)


Mar*_*ars 5

cl-format,源自Common Lisp format,format在某些情况下比Clojure基于Java更灵活:

(require 'clojure.pprint)
(clojure.pprint/cl-format nil "~f" (/ 1 2)) ;=> "0.5"
Run Code Online (Sandbox Code Playgroud)