如何从 F# 中的文件中读取浮点数据

How to read float data from a file in F#

我有一个包含浮点数的文件,我想读取它并将值保存在数组中以进行一些数学运算。然后我需要在另一个文件中打印新数组。我发现的所有方法都将文件作为字符串读取,我也不知道如何将字符串转换为浮点数组。

如果我们可以假设文件中的每个浮点数都在其自己的行上,那么您可以这样做:

open System
open System.IO    

let readFloats filePath = 
    let strs = File.ReadLines(filePath) // Read file line by line
    strs |> Seq.map (fun str -> System.Double.TryParse(str)) // TryParse returns pair (Boolean * float value). Boolean is true if string parsed correctly 
         |> Seq.filter (fun (success, _) -> success) // filters out wrong  (not parsed strings)
         |> Seq.map snd // transforms sequence of pairs (bool * float) into float only