Число округлений до n десятичных знаков в clojure

Когда я делаю, например, (/1.0 7.0), я получаю только 17 цифр: 0.14285714285714285. Как я могу получить больше, чем это?

Ответ 1

Используйте цифры BigDecimal и with-precision:

(with-precision 50 (/ 1M 7))
=> 0.14285714285714285714285714285714285714285714285714M

Ответ 2

Clojure (и почти все lisps) имеет тип отношения таким образом, что вы не теряете точность. все ваши вычисления с коэффициентом и конвертировать в double/float в последнюю минуту, чтобы избежать проблем с точностью.