当我用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要长一些。 ;)