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

时间:2015-07-26 01:42:54

标签: clojure string-formatting

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

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

(format "%3f" (/ 1 2))
;; Throws an error

3 个答案:

答案 0 :(得分:6)

您随时可以转换为Float

(format "%3f" (float (/ 1 2)))

答案 1 :(得分:5)

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

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

答案 2 :(得分:4)

应该阅读来源:

(.decimalValue (/ 1 2))

做我需要的。