将字节序列转换为浮点序列F#(seq <seq <byte> - &gt; seq <seq <float>)

时间:2018-04-21 07:57:06

标签: f#

我是F#的新手,目前想知道如何将序列的字节序列转换为浮点序列序列

seq< seq< byte> -> seq< seq< float>

所以我有以下字节序列

let colourList = seq[ seq[10uy;20uy;30uy]; seq[50uy;60uy;70uy] ]

我尝试过使用

colourList |> Seq.map System.Double.Parse

使用float元素创建一个新序列,但它不起作用。有谁可以帮助我吗?我好几天都被困在这个。

1 个答案:

答案 0 :(得分:4)

System.Double.Parse是将字符串映射到float的函数。你在这里寻找的是一个映射byte -> float的函数。该函数名为:float

答案可能是:

let colourList  = [[10uy;20uy;30uy]; [50uy;60uy;70uy]]
let floatList   = List.map (List.map float) colourList

我们使用.map操作将map函数应用于序列中的每个元素。

由于你有两个嵌套序列,我们需要两个嵌套的.map操作才能完成你需要的映射。

List.map float是一个映射内部序列的函数:byte list -> float list

我们使用List.map (List.map float)将此函数应用于外部序列,以实现:byte list list -> float list list