如何防止ToString(“0,0”)返回00

时间:2013-03-07 22:47:10

标签: c# .net asp.net-mvc-3

我有一堆整数,我必须在我的一个观点中显示。

我用这种方式显示它们:

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

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

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

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

1 个答案:

答案 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