2011-04-10 24 views
12

我有一个简单的问题,我一直无法弄清楚。我有一个应该从输入读取浮点数的程序。问题是它会以字符串的形式出现,我不能为我的生活弄清楚如何将它转换为浮动(是的,我是一个完整的newb)。F#将字符串转换为浮点数

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

要格式化代码,请在每行之前放置四个空格,或选择它并在编辑器中按下按钮。有关更多格式化帮助,请参阅[Markdown编辑帮助](http://stackoverflow.com/editing-help)页面。 – 2011-04-10 19:46:38

回答

9

let myFloat = float searchString

这么简单。

+1

请参阅@Thomas。浮动字符串表示取决于文化。 – 2013-06-05 22:24:29

+0

解析失败时会发生什么? – fahadash 2014-07-13 19:52:44

+0

@fahadash抛出System.FormatException异常。 – 2014-07-14 16:06:35

15

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,您可以在其中明确指定文化

相关问题