在ClojureScript中,如何显示带有2位小数的浮点数?

时间:2014-02-04 13:42:45

标签: clojurescript

我尝试使用with-precision,但它不起作用:

(.log js/console (with-precision 2 1.2345)) 

所以我使用了toFixed

(.log js/console (.toFixed 1.2345 2)) 

但我觉得这不是那种惯用的方式。

此外,我不明白为什么with-precision不起作用。

请激励我......

3 个答案:

答案 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.pprintclojure.pprint交换,可以在Clojure中使用相同的代码。

答案 2 :(得分:1)

(defn round-number 
   [f]
   (/ (.round js/Math (* 100 f)) 100))

如果要将其保留为数字类型(受javascript reply启发)