Tom*_*cek 24
正如其他人指出的那样,有一些选择.最简单的两个是调用ToString方法和使用string函数.你应该注意两者之间的细微差别.以下是他们在我的系统上所做的事情:
> sprintf "%f" 1.2;;
val it : string = "1.200000"
> string 1.2;;
val it : string = "1.2"
> 1.2.ToString();;
val it : string = "1,2"
Run Code Online (Sandbox Code Playgroud)
前两个是不同的,但两者都有意义,但为什么最后一个返回"1,2"?
那是因为我有捷克语区域设置,其中小数点写为逗号(doh!)因此,该string函数在ToString使用当前文化(线程)时使用不变文化.在一些奇怪的文化(如捷克:-)),这可能会导致麻烦!您还可以使用以下ToString方法明确指定:
> 1.2.ToString(System.Globalization.CultureInfo.InvariantCulture);;
val it : string = "1.2"
Run Code Online (Sandbox Code Playgroud)
因此,方法的选择可能取决于您希望如何使用字符串 - 对于演示文稿,您应该尊重操作系统设置,但是为了生成可移植文件,您可能需要不变的文化.
Jim*_*mmy 14
> sprintf "%f";;
val it : (float -> string) = <fun:it@8>
Run Code Online (Sandbox Code Playgroud)
使用'string'功能.
string 6.3f
Run Code Online (Sandbox Code Playgroud)