Wenn ich das tue (/ 411 125)
, verstehe ich es nicht als Dezimalzahl. Wie mache ich das?
Antworten:
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
Wie dokumentiert , ergibt die Ganzzahldivision rationale Zahlen. Versuchen
(/ 411.0 125)
Wenn Sie einen Float für die Dividende verwenden, erhalten Sie eine Dezimalantwort.
(/ 22.0 7) -> 3.142857142857143
Es gibt auch die Funktion (ungeprüfter Rest xy) .
Auch das wird funktionieren:
(/ 22. 7) => 3.142857142857143
(float 411/125)
ist eine andere Variante, wenn Sie die Zahlen direkt erhalten, was der Fall ist, wenn Sie nur die REPL als Taschenrechner verwenden. Leider sind dies einige Zeichen länger als die Lösung von Jonathan Feinberg und ire_and_curses. ;)