我有一堆整数,我必须在我的一个观点中显示。
我用这种方式显示它们:
int myVariable = 12500;
myVariable.ToString("0,0", System.Globalization.CultureInfo.InvariantCulture).Replace(",", " ")
如果myVariable包含12500,它将显示:12 500.这正是我想要的。
但是,如果myVariable包含0,它将显示:00。而不是00,我希望显示0。
我在MSDN上查看了自定义数字格式,但我找不到任何可以帮助我的内容。如果可能的话,我希望不能再做一些字符串管理(替换等)。只需将格式从0,0切换到适合我的东西。
答案 0 :(得分:7)
我怀疑你想要:
myVariable.ToString("#,0", ...)
虽然如果其中一种标准字符串格式无法解决此问题,我会感到惊讶。例如,您可以使用:
myVariable.ToString("N0", ...)
另请注意,您可以使用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