Когда я делаю, например, (/1.0 7.0), я получаю только 17 цифр: 0.14285714285714285. Как я могу получить больше, чем это?
Число округлений до n десятичных знаков в clojure
Ответ 1
Используйте цифры BigDecimal
и with-precision
:
(with-precision 50 (/ 1M 7))
=> 0.14285714285714285714285714285714285714285714285714M
Ответ 2
Clojure (и почти все lisps) имеет тип отношения таким образом, что вы не теряете точность. все ваши вычисления с коэффициентом и конвертировать в double/float в последнюю минуту, чтобы избежать проблем с точностью.