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

Mic*_*eyn 3 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);
Run Code Online (Sandbox Code Playgroud)

预期结果是:

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

由于格式字符串中的格式规范,我需要完全发生这种情况.

Chr*_*ter 9

这应该做:

string formattedResult1 = string.Format("{0:0.######;-0.######;\"\"}", myInt);
Run Code Online (Sandbox Code Playgroud)

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

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