String Int和字符串F#

String Int和字符串F#,string,f#,int,String,F#,Int,我在F#中有一个函数,在这里我获取一个int值,并将int作为字符串返回 let inttostring (x:int):string = ""+x 我不能去上班了。任何帮助都将不胜感激。空字符串“与x不兼容,后者属于int类型。你可以用 let int2String x = sprintf "%i" x 或 这不管用吗让inttostring(i:int):string=i.ToString()投票关闭。如果您不知道F#是强类型的,或者关于对象。ToString是时候阅读文档了。

我在F#中有一个函数,在这里我获取一个
int
值,并将
int
作为
字符串返回

let inttostring (x:int):string = 
    ""+x
我不能去上班了。任何帮助都将不胜感激。

空字符串
x
不兼容,后者属于
int
类型。你可以用

let int2String x = sprintf "%i" x


这不管用吗<代码>让inttostring(i:int):string=i.ToString()
投票关闭。如果您不知道F#是强类型的,或者关于
对象。ToString
是时候阅读文档了。这与强类型无关。C#是强类型的,但它具有隐式转换,因此可以将整数添加到字符串中。这不是我在C#中首选的方法,但它可以编译。如果有人不知道F#不进行隐式转换,我认为这不一定是RTFM时刻。@JoelMueller:如果他想知道为什么这不起作用,或者为什么F#没有像C#那样的隐式转换,这些都是合理的问题。问题是他说他无法将int转换成字符串,这表明他甚至没有做过粗略的搜索……或者
i.ToString()
或者
convert.ToString(i)
或者
string.Concat(“,i)
)。对于F的新加入者来说,类型之间是隐式转换的,这可能值得一提(这就是pad上面所说的)。您需要显式地从一种类型转换为另一种类型,以使代码得以编译。@Chris:我相信您的意思是不是这样。@Daniel:对不起,您完全正确。F#类型不会像在其他语言中那样隐式转换(例如C#)
let int2String (x: int) = string x