我需要它在单个格式语句中工作并适用于整数和小数:
例如:
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/