Округление чисел до n знаков после запятой - PullRequest
11 голосов
/ 18 августа 2011

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

Ответы [ 2 ]

14 голосов
/ 18 августа 2011

Используйте BigDecimal числа и with-precision:

(with-precision 50 (/ 1M 7))
=> 0.14285714285714285714285714285714285714285714285714M
10 голосов
/ 18 августа 2011

Clojure (и почти все списки) имеет тип отношения, так что вы не теряете точность.сделайте все ваши вычисления с отношением и конвертируйте в удвоенное / плавающее в последнюю минуту, чтобы избежать проблем с точностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...