当我这样做时,(/ 1.0 7.0),我只得到17位数:0.14285714285714285。我怎么能得到更多呢?
答案 0 :(得分:14)
使用BigDecimal
个数字和with-precision
:
(with-precision 50 (/ 1M 7))
=> 0.14285714285714285714285714285714285714285714285714M
答案 1 :(得分:10)
Clojure(以及几乎所有的lisps)都有比率类型,这样你就不会失去精确度。用比率进行所有计算,并在最后一分钟转换为double / float,以避免出现精度问题。