2010-10-22 62 views
1

在我的应用程序中,有可能使用string.Format()函数格式化字符串。我想添加结果为零时返回空白的可能性。string.Format()空白零

据我所看到的,是可以做到这一点使用代码:0.toString("0;; ");,但我已经讲过了,我需要使用string.Format()功能(因为它必须能够例如使用{0:P}格式百分比。

有谁知道如何空白使用string.Format()函数零值?

谢谢 彼得

回答

1

你为什么不用if else陈述呢?

string result = String.Format(the value); 
if(result=="0") 
{ 
    result=" "; 
} 
+0

因为我编辑的是现有应用程序,其中格式可以填充到某个位置。添加新格式与编辑xml配置文件一样简单。添加一个if else语句确实可以,但最终会在编辑每个使用该格式的地方的代码... – 2010-10-22 09:35:56

+0

最后,我必须使用此解决方案。感谢大家的答案! – 2010-10-25 12:41:07

9

String.Format()supports;节分隔。

尝试例如String.Format("{0:#%;;' '}", 0);

+1

不幸的是,你不能混用标准和自定义格式字符串像这样。 – LukeH 2010-10-22 09:26:09

+0

@FrédéricHamidi谢谢你的回答。但是,如果值为1,则返回N;如果值为-1,则返回-N :( – 2010-10-22 09:28:24

+0

@LukeH这是否意味着无法执行此操作? – 2010-10-22 09:28:46

6

我的回答是有点晚了,但你可能想尝试以下操作:

{0:#.##%;-#.##%;''} 
+1

谢谢您的回答,但正如我之前提到的,{0:P}只是用户可以选择的一个示例。我必须使用标准的格式表达式,这是我不能使用这个表达式的原因。但是,谢谢你的时间! – 2012-07-12 08:31:13