それが問題なのか、それともどうなっているのかわかりませんが、小数点以下2桁の値が必要です。小数点以下2桁に丸める関数を書くことはできますが、clojure自体で追加中に処理するソリューションはありますか。つまり、データ型などを変更するということです。
ありがとうございました。
ClojureはJavaの標準の倍精度浮動小数点数(1.3以降)を使用し、REPLは数値を表すために必要な数の桁のみを出力するため、この場合は3.0000000になりますが、不要な桁は削除されます。
便利なフォーマット機能で印刷する数字をコントロールできます。
(format "%.2f" (+ 1.0 2.0))
> "3.00"
3.0
は3.00
clojureで等しい、doubleです。小数点以下2桁のstrを出力する場合は、formatを使用できます。
user> (= 3.0 3.00)
true
user> (== 3.0 3.00)
true
user> (format "%.2f" 3.0)
"3.00"
user> (class 3.00)
java.lang.Double
正確な10進演算を行う必要がある場合は、「M」という接尾辞を付けて数値を記述し、それらが正確であることを示すことができます。
user=> (+ 1.00M 2.00M)
3.00M
ただし、これは、標準の不正確な浮動小数点数を使用するよりもはるかに効率が悪いことに注意してください。