2016-08-23 49 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()}%" : "-";