如何将数字格式化为字符串,以便将零替换为空字符串

时间:2012-03-20 14:47:42

标签: c# c#-4.0

我需要在单个格式语句中工作,并且对于整数和小数都有效:

例如:

int myInt=0;
decimal myDecimal=0.0m;

// ... Some other code

string formattedResult1=String.Format("{0}",myInt);
string formattedResult2=String.Format("{0}",myDecimal);

预期结果如下:

“”(即string.Empty)如果要格式化的项目为零 和数值(例如,十进制版本为“123.456”),如果不是。

由于格式字符串中的格式规范,我只需要这样做。

2 个答案:

答案 0 :(得分:9)

这应该做:

string formattedResult1 = string.Format("{0:0.######;-0.######;\"\"}", myInt);

冒号引入了数字格式字符串。数字格式字符串用分号分为3部分:第1部分用于正数,第2部分用于负数,第3部分用于零。要定义一个空白字符串,您需要用双引号分隔它,否则它不喜欢它。

有关完整语法,请参阅MSDN

答案 1 :(得分:1)

根据上面接受的答案,我在微软"报告生成器"

中做了同样的事情。

这对我有效(显示2位小数,空白为零):

,## 0.00; - #,## 0.00;""