我有一个简单的问题,我一直无法弄清楚。我有一个应该从输入读取浮点数的程序。问题是它会以字符串的形式出现,我不能为我的生活弄清楚如何将它转换为浮动(是的,我是一个完整的newb)。F#将字符串转换为浮点数
let searchString = args.[0]
let myFloat = hmm hmmm hmmmm
我有一个简单的问题,我一直无法弄清楚。我有一个应该从输入读取浮点数的程序。问题是它会以字符串的形式出现,我不能为我的生活弄清楚如何将它转换为浮动(是的,我是一个完整的newb)。F#将字符串转换为浮点数
let searchString = args.[0]
let myFloat = hmm hmmm hmmmm
let myFloat = float searchString
这么简单。
请参阅@Thomas。浮动字符串表示取决于文化。 – 2013-06-05 22:24:29
解析失败时会发生什么? – fahadash 2014-07-13 19:52:44
@fahadash抛出System.FormatException异常。 – 2014-07-14 16:06:35
在conversion in the other way上有一个相关的问题。这有点棘手,因为浮点格式取决于当前的操作系统文化。 float
函数适用于不变文化格式的数字(如“3.14”)。如果您有依赖于文化的格式(例如,某些国家/地区为“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
,您可以在其中明确指定文化
要格式化代码,请在每行之前放置四个空格,或选择它并在编辑器中按下按钮。有关更多格式化帮助,请参阅[Markdown编辑帮助](http://stackoverflow.com/editing-help)页面。 – 2011-04-10 19:46:38