如何防止ToString(“0,0”)返回00
我有一堆整数,我必须在我的一个视图中显示。如何防止ToString(“0,0”)返回00
我展示他们这样说:
int myVariable = 12500;
myVariable.ToString("0,0", System.Globalization.CultureInfo.InvariantCulture).Replace(",", " ")
如果MYVARIABLE包含12500,它会显示:12 500这正是我想要的。
但是,如果myVariable包含0,它将显示:00.而不是00,我想要0显示。
我查看了关于自定义数字格式的MSDN,我还没有找到任何可以帮助我的东西。如果可能的话,我想不能进行更多的字符串管理(替换等)。只需将格式从0,0切换到适合我的东西即可。
我怀疑你想:
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
myvariable.ToString(“N0”,...);应该诀窍。 – 2013-03-07 22:54:08
@DasKrümelmonster:是的,这正是我想要的。 – 2013-03-07 22:54:38
你的意思是说我可以不用替换就使用N0? – 2013-03-07 22:55:14
是什么'INT'? – Default 2013-03-07 22:48:37
也许[这](http://www.csharp-examples.net/string-format-int/)可以帮助 – Default 2013-03-07 22:49:11
我编辑我的问题,以取代INT。 – 2013-03-07 22:51:43