Jul*_*iaz 8 jython decimal clojure
在clojure或jython:说我有一个数字4.21312312312312我怎么能得到一个只有前2位小数的数字.对于上面的例子,它将返回4.21.谢谢
mik*_*era 10
Clojure在clojure.contrib.math中有一个圆函数 - 假设你想要Clojure可以处理的所有不同可能数值类型的正确行为,最好使用这个函数.
在这种情况下,假设您希望将结果作为任意精度的BigDecimal,一种简单的方法是构建一个小帮助函数,如下所示:
(use 'clojure.contrib.math)
(defn round-places [number decimals]
(let [factor (expt 10 decimals)]
(bigdec (/ (round (* factor number)) factor))))
(round-places 4.21312312312312 2)
=> 4.21M
Run Code Online (Sandbox Code Playgroud)
我想我在进一步研究后得到了这个
(format "%.2f" 4.21312312312312)
Run Code Online (Sandbox Code Playgroud)
应该返回4.21