ClojureScript currently only supports integer and floating point literals которые относятся к примитивам JavaScript. Ratio, BigDecimal и BigInteger в настоящее время не поддерживаются.
Хорошей новостью является то, что javascript floats are already double precision, поэтому нет необходимости принудительно их принудительно использовать в парном разряде. Плохая новость заключается в том, что нет поддержки рациональных чисел, поэтому вы не можете их использовать.
Вам потребуется либо переписать выражения, которые используют рациональные числа, либо отделить код JVM от кода, ориентированного на JS. Посмотрите на cljx project, чтобы сделать именно это.
Что касается вашего варианта использования. Из вашего описания я понимаю, что вы пытаетесь переписать выражение, похожее на это:
(str (double (/ 2/4 2)))
=> "0.25"
Вы можете просто переписать это выражение в CLJS так:
(str (double (/ (/ 2 4) 2)))
=> "0.25"
Заметьте, что вы можете выйти из вызова double:
(str (/ (/ 2 4) 2))
=> "0.25"
Надеюсь, это решает проблему.
Как ни странно, я вижу, что как double, так и float определены в cljs.core ... –