我尝试使用with-precision
,但它不起作用:
(.log js/console (with-precision 2 1.2345))
所以我使用了toFixed
:
(.log js/console (.toFixed 1.2345 2))
但我觉得这不是那种惯用的方式。
此外,我不明白为什么with-precision
不起作用。
请激励我......
答案 0 :(得分:13)
(ns foo.bar
(:require
[goog.string :as gstring]
[goog.string.format]))
(.log js/console (gstring/format "%.2f" 1.2345))
答案 1 :(得分:9)
(ns foo.bar
(:require [cljs.pprint :as pprint]))
(pprint/cl-format nil "~,2f" 1.2345) ; => returns "1.23"
(pprint/cl-format true "~,2f" 1.2345) ; => prints "1.23", returns nil
如果您将cljs.pprint
与clojure.pprint
交换,可以在Clojure中使用相同的代码。
答案 2 :(得分:1)
(defn round-number
[f]
(/ (.round js/Math (* 100 f)) 100))
如果要将其保留为数字类型(受javascript reply启发)