F# 将字符串转换为 float

标签 f# floating-point type-conversion

我有一个简单的问题,我一直无法弄清楚。我有一个程序应该从输入中读取 float 。问题是它将作为字符串出现,而我一生都无法弄清楚如何将其转换为 float (是的,我是一个完整的新手)。

let searchString = args.[0]
let myFloat = hmm hmmm hmmmm

最佳答案

conversion in the other way 上有一个相关问题。这有点棘手,因为浮点格式取决于当前的操作系统文化。 float 函数适用于固定区域性格式的数字(例如“3.14”)。如果您的 float 格式取决于区域性(例如,某些国家/地区为“3,14”),那么您需要使用 Single.Parse

例如,在我的机器上(使用捷克文化设置,使用“3,14”):

> float "1.1";;
val it : float = 1.1
> System.Single.Parse("1,1");;
val it : float32 = 1.10000002f

如果以相反的方式调用,两个函数都会抛出异常。 Parse 方法还有一个重载,它采用 CultureInfo ,您可以在其中显式指定区域性

关于F# 将字符串转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5614228/

相关文章:

F# Deedle 返回奇怪的输出 <fun :it@156-43>

LINQ to XML 中的 F# 和显式转换

list - OCaml:List.fold_left 是如何工作的?

c - 在 C 中转换为较大类型时填充值

c++ - 如何在初始化期间在 C 中将 char 转换为 int

f# - 从静态成员访问 let 绑定(bind)字段

f# - 任意长度嵌套元组上的优雅模式匹配

javascript - 在 Javascript 中乘以 float 时,这是否是处理舍入错误的可靠方法?

swift - float 数学方程式没有按预期工作

java - 为什么 Java 泛型不允许对泛型类型进行类型转换?