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

在Clojure中将比率格式化为百分比,clojure,string-formatting,Clojure,String Formatting,这似乎是显而易见的,但如何将Clojure的比率类型转换为百分比 (format "%3s" (/ 1 2)) ;; "1/2" (format "%3f" (/ 1 2)) ;; Throws an error 应该已经阅读了来源: (.decimalValue (/ 1 2)) 执行我需要的操作。您始终可以转换为浮点值: (format "%3f" (float (/ 1 2))) 源自Common Lisp的,在某些情况下比Clojure基于Java的格式更灵活: (require

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

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

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

应该已经阅读了来源:

(.decimalValue (/ 1 2))

执行我需要的操作。

您始终可以转换为
浮点值

(format "%3f" (float (/ 1 2)))
源自Common Lisp的,在某些情况下比Clojure基于Java的
格式
更灵活:

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

或者您可以使用
double