C# 仅在需要时才使用带小数的百分比的DataFormatString?

C# 仅在需要时才使用带小数的百分比的DataFormatString?,c#,asp.net-mvc,formatting,string-formatting,C#,Asp.net Mvc,Formatting,String Formatting,我尝试在MVC的EF代码优先属性上使用这些: 具体而言: [DisplayFormat(DataFormatString="##.##%")] public double? PercentOfSomething {get;set;} 如何将.2345显示为23.45%,将.2显示为20% 换句话说,如果有小数点,只显示小数点,最多两位 现在,它只显示格式字符串“##.##%”。我猜这些类型的格式字符串可能不受DisplayFormat属性的支持。我认为您应该使用“{0:###.##%}”,而

我尝试在MVC的EF代码优先属性上使用这些:

具体而言:

[DisplayFormat(DataFormatString="##.##%")]
public double? PercentOfSomething {get;set;}
如何将.2345显示为23.45%,将.2显示为20% 换句话说,如果有小数点,只显示小数点,最多两位


现在,它只显示格式字符串“##.##%”。我猜这些类型的格式字符串可能不受DisplayFormat属性的支持。

我认为您应该使用“{0:###.##%}”,而不是仅仅使用##.##%

也许您可以根据需要使用默认格式并重写
字符串
?是的,我已经想好了。其中一个和它斗争了很长一段时间,然后在我发帖后30秒就想出来了。