如何从 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
我有一个包含浮点数的文件,我想读取它并将值保存在数组中以进行一些数学运算。然后我需要在另一个文件中打印新数组。我发现的所有方法都将文件作为字符串读取,我也不知道如何将字符串转换为浮点数组。
如果我们可以假设文件中的每个浮点数都在其自己的行上,那么您可以这样做:
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