gpt4 book ai didi

clojure - 为什么我的字符串格式化在 Clojure 中失败?

转载 作者:行者123 更新时间:2023-12-04 05:41:42 27 4
gpt4 key购买 nike

在 Java 中,我可以执行以下操作来格式化浮点数以进行显示:

String output = String.format("%2f" 5.0);
System.out.println(output);

理论上,我应该可以用这个 Clojure 做同样的事情:
(let [output (String/format "%2f" 5.0)]
(println output))

但是,当我在 REPL 中运行上述 Clojure 代码段时,出现以下异常:
java.lang.Double cannot be cast to [Ljava.lang.Object;
[Thrown class java.lang.ClassCastException

我究竟做错了什么?

最佳答案

Java的String.format需要一个 Object[] (或 Object...),使用 String.format在 Clojure 中,您需要将参数包装在一个数组中:

(String/format "%2f" (into-array [5.0]))

Clojure 为更易于使用的格式提供了一个包装器:
(format "%2f" 5.0)

凯尔

关于clojure - 为什么我的字符串格式化在 Clojure 中失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9344023/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com