F# 将浮点列表合并为浮点数

O. *_*ock -1 f#

我是 F# 的新手,我正在努力弄清楚如何将浮点数列表中的数字组合成浮点数。

如果我有名单

let floatList = [ 9.0; 8.0; 3.0 ]

我想要一个返回值是浮点数 983.0 的函数。我将如何解决这个问题?

Fyo*_*kin 8

您遍历列表,将先前累积的数字乘以 10,然后添加列表的当前元素:

((9 * 10) + 8) * 10 + 3 = 983
Run Code Online (Sandbox Code Playgroud)

在保留“累加器”的同时浏览列表的一种方便的方法是List.fold

floatList
|> List.fold (fun acc n -> acc*10 + n) 0
Run Code Online (Sandbox Code Playgroud)