我正在尝试使用Clojure解决pythonchallenge问题:

(java.lang.Math/pow 2 38)


我有

2.74877906944E11


但是,我需要关闭这种科学表示法。我搜索了clojure文档,但仍然不知道该怎么做。是否有在Clojure中开启/关闭科学计数法的一般方法?

谢谢。

最佳答案

您可以使用format控制结果的打印方式。

user> (format "%.0f" (Math/pow 2 38))
"274877906944"


另外,如果不存在丢失所需数据的危险,则可以强制转换为确切的类型:

user> 274877906944.0
2.74877906944E11
user> (long 274877906944.0)
274877906944


有BigInts用于更大的输入

user> (bigint 27487790694400000000.0)
27487790694400000000N

07-24 19:01