我需要它在单个格式语句中工作并适用于整数和小数:

例如:

int myInt=0;
decimal myDecimal=0.0m;

// ... Some other code

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

预期的结果是:

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

我需要这完全是由于格式字符串中的格式规范而发生的。

最佳答案

这应该做:

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

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

有关完整语法,请参阅 MSDN

关于c# - 如何将数字格式化为字符串,以便零被空字符串替换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9789027/

10-12 06:48
查看更多