我有一堆整数,我必须在我的一个视图中显示.
我这样显示它们:
int myVariable = 12500;
myVariable.ToString("0,0", System.Globalization.CultureInfo.InvariantCulture).Replace(",", " ")
Run Code Online (Sandbox Code Playgroud)
如果myVariable包含12500,它将显示:12 500.这正是我想要的.
但是,如果myVariable包含0,它将显示:00.而不是00,我希望显示0.
我在MSDN上查看了自定义数字格式,但我找不到任何可以帮助我的内容.如果可能的话,我希望不能再做一些字符串管理(替换等).只需将格式从0,0切换到适合我的东西.
我怀疑你想要:
myVariable.ToString("#,0", ...)
Run Code Online (Sandbox Code Playgroud)
虽然如果其中一种标准字符串格式没有处理这个问题我会感到惊讶.例如,您可以使用:
myVariable.ToString("N0", ...)
Run Code Online (Sandbox Code Playgroud)
另请注意,您可以使用"\n"创建自己的文化(可能基于不变文化),而不是使用不变文化,然后用空格替换逗号NumberGroupSeparator.
示例代码:
// You don't need to create this every time. Create it once and put it in a static variable.
var culture = (CultureInfo) CultureInfo.InvariantCulture.Clone();
culture.NumberFormat.NumberGroupSeparator = " ";
Console.WriteLine(12345.ToString("N0", culture)); // 12 345
Run Code Online (Sandbox Code Playgroud)