我有一个简单的问题,我一直无法弄清楚。我有一个程序应该从输入中读取 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/