gpt4 book ai didi

clojure - 将clojure中的任意数字转换为 float

转载 作者:行者123 更新时间:2023-12-02 10:35:02 26 4
gpt4 key购买 nike

所以我遇到了这个问题:我正在对向量中的每个元素进行计算。根据向量中的数字,生成的向量可能包含有理数、 float 、科学 float 、大整数、整数。我需要将它们全部转换为 float 或舍入整数。生成的文本是将发送到客户端的 SVG,这些数字是路径的一部分。我可以使用内置的东西来完成它还是应该推出自己的函数?

format 的问题在于它是 java Formatter 类的一个薄包装器。这意味着不会处理大整数,因为 clojure 有自己的实现。

另一方面,cl-format(实际上应该是主要选择)可以很好地格式化除有理数之外的所有内容 - 4/5 转换为 4/5.0。也许我对 cl-format 做错了什么。

我尝试将整个向量(无论如何都需要)键入提示为 double ,但结果始终以有理数形式返回。

如果我遗漏了什么,请帮忙。

最佳答案

转换数据类型不是格式化程序的工作,您应该在将数据交给格式化程序之前确保数据具有您想要打印的类型。

类型提示不是类型转换或强制,它是向编译器提示什么参数最有可能在运行时出现。

您想要的函数是double

user=> (double 42)
42.0
user=> (map double [1.0 1 1.1M 2/3])
(1.0 1.0 1.1 0.6666666666666667)

此外,如果您要对整个向量进行类型提示,则不应使用向量,而应使用双数组。向量不以任何方式根据其内容的类型进行专门化。

关于clojure - 将clojure中的任意数字转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27785049/

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