我想做的是将[1,3.0,5,5.5,8]
之类的列表转换为[1.0,3.0,5.0,5.5,8.0]
。
问题是我不知道列表,所以我不能使用float_of_int,因为它不适用于已经是float的元素。
答案 0 :(得分:3)
您的标题(基本上)是(int * float) list
。但是,您的示例列表(校正OCaml语法)是不可能的。 OCaml中没有包含一些浮点数和一些整数的列表。列表中的所有元素必须具有相同的类型。
如果您确实有(int * float) list
,则它们看起来像这样:
[(1, 1.5); (2, 3.8); (3, 8.9)]
每个元素都是一个带int和float的对。因此,使用相同的代码轻松处理它们。