2016-08-23 70 views
2

没有任何人有一个想法,为什么下面的代码输出1000%RebatePercent = 10奇怪的字符串格式%的C#输出

return RebatePercent > 0 ? $"{RebatePercent.ToString("0%")}" : "-"; 

我没有发现任何输出10%

THX

+3

''% - *乘法器,一个号码** 100 **并在结果字符串中插入一个本地化的百分比符号。* –

+0

所以解决方案是将RebatePercent除以100或使用其他格式? –

+0

您可以使用string.Format而不是ToString(),如:-string.Format(“Percentage is {0:0.0%}”,ratio) –

回答

3

你可以使用如:

RebatePercent > 0 ? String.Format("{0}%", RebatePercent) : "-"; 

,并在C#6:

RebatePercent > 0 ? $"{RebatePercent}%" : "-"; 
3

如果你想保留使用字符串插值那么你可以:

return RebatePercent > 0 ? $"{RebatePercent.ToString()}%" : "-";