.Net/F#中的千位分隔符

rwa*_*ace 5 .net f#

使用千位分隔符打印整数的推荐方法是什么?到目前为止,我想出的最好的是

let thousands(x:int64) = String.Format("{0:0,0}", x)
Run Code Online (Sandbox Code Playgroud)

在大多数情况下都适用,但打印为零为00.

Chr*_*s S 5

.NET中小数位的格式标记是"." 无论组件使用的文化如何,对于千分隔符都是",".然而,不同的文化(例如法国)对于小数位使用",",因此这可能是一个需要考虑的问题.

这是一些(C#)示例:

C
£N
£#,#

double x = 67867987.88666;  
Console.WriteLine("{0:C}",x);  
Console.WriteLine("£{0:N}", x);  
Console.WriteLine("£{0:#,#.###}", x);  

Output:  
£67,867,987.89  
£67,867,987.89  
£67,867,987.887
Run Code Online (Sandbox Code Playgroud)

更多细节在这里.


rwa*_*ace 0

let thousands(x:int64) = String.Format("{0:#,0}", x)
Run Code Online (Sandbox Code Playgroud)