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

本文关键字:字符串 替换 数字 格式化 | 更新日期: 2023-09-27 18:28:27

我需要在一个单一格式的语句中工作,并同时处理整数和小数:

例如:

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")。

我需要这种情况专门作为格式字符串中的格式规范的结果出现。

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

这应该做:

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

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

有关完整语法,请参阅MSDN。

根据以上公认的答案,我在微软也做了同样的事情"报表生成器";

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

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