3

我有一堆整数必须在我的一个视图中显示。

我以这种方式显示它们:

int myVariable = 12500;
myVariable.ToString("0,0", System.Globalization.CultureInfo.InvariantCulture).Replace(",", " ")

如果 myVariable 包含 12500,它将显示:12 500。这正是我想要的。

但是,如果 myVariable 包含 0,它将显示:00。我希望显示 0 而不是 00。

我在 MSDN 上查看了自定义数字格式,但没有找到任何可以帮助我的东西。如果可能的话,我希望不能做更多的字符串管理(替换等)。只需将格式从 0,0 切换到适合我的格式。

4

1 回答 1

6

我怀疑你想要:

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
于 2013-03-07T22:51:40.967 回答