Int和String F#

use*_*614 8 string int f#

我在F#中有一个函数,我在其中取一个int值并返回int为a string.

let inttostring (x:int):string = 
    ""+x
Run Code Online (Sandbox Code Playgroud)

我无法让ToString工作.任何帮助,将不胜感激.

pad*_*pad 19

空字符串""x哪种int类型不兼容.您可以使用

let int2String x = sprintf "%i" x
Run Code Online (Sandbox Code Playgroud)

要么

let int2String (x: int) = string x
Run Code Online (Sandbox Code Playgroud)

  • @Chris:我相信你的意思是*不是*. (4认同)
  • ...或`i.ToString()`或`Convert.ToString(i)`或`String.Concat("",i)`... (3认同)
  • @Daniel:道歉,你完全正确.F#类型**不会像其他语言一样被隐式转换(例如C#) (3认同)
  • 可能值得一提的是,对于 F# 的新加入者来说,类型在彼此之间隐式转换(这就是 pad 在上面所说的)。您需要显式地从一种类型转换为另一种类型才能编译代码。 (2认同)