为什么string.Format产生这样的结果?

Bob*_*sky 1 c# string

我的代码中有如下行:

string buffer = string.Format(CultureInfo.InvariantCulture, "{0:N4}", 1008.0);
Run Code Online (Sandbox Code Playgroud)

执行此行后为什么buffer包含1,008.0(注释逗号)?

是的,我猜它是由我的区域设置引起的.问题是为什么它们会影响这种情况的结果?

编辑:

好的,我明白这完全是我的错.好像我应该使用F格式说明符.

Ode*_*ded 5

InvariantCulture是松散的基础上en-US,它使用,作为千(组)分离器.

你的结果是我所期待的.

我还指出了N数字格式说明符的细节:

数字("N")格式说明符将数字转换为"-d,ddd,ddd.ddd ..."形式的字符串,其中" - "表示负数字符号(如果需要),"d"表示数字(0 -9),","表示组分隔符,"." 表示小数点符号.