当我用clojure分数时,我得到一个分数,我怎么得到小数?

当我这样做的时候(/ 411 125) ,我不会用小数来表示。 我怎么做?

 user> (float (/ 411 125)) 3.288 user> (double (/ 411 125)) 3.288 
 user=> (clojure-version) "1.4.0" user=> (doc quot) ------------------------- clojure.core/quot ([num div]) quot[ient] of dividing numerator by denominator. nil user=> (quot 411 125) 3 

据记载 ,整数除法产生有理数。 尝试

 (/ 411.0 125) 

如果你使用浮动的红利,你会得到一个小数的答案。

 (/ 22.0 7) -> 3.142857142857143 

还有(unchecked-remainder xy)函数可用。

即使这将工作:

 (/ 22. 7) => 3.142857142857143 

(float 411/125)是另一种变体,如果直接给出数字的话,如果你只是使用REPL作为计算器的话。 不幸的是,这比Jonathan Feinberg和ire_and_curses的解决scheme要长一些。 ;)