该列的数据类型为十进制(5,2),我想在网格视图中显示如下:

10% or 5% or 18% etc.


但是它现在在我的网格视图中显示如下:

400.00%但应该像这样4%

 <asp:BoundField DataField="Tot_Perc" DataFormatString="{0:P}" HeaderText="Total%" HtmlEncode="true" />


我在这里做错了什么?谢谢

最佳答案

您应该有DataFormatString="{0:0}%"

如果要保留两位小数,可以使用DataFormatString="{0:0.00}%"



如@adrianbanks所述,DataFormatString="{0:P0}"格式将数字乘以100 ... ...因此您可以考虑将百分比存储为decimal(5,4)(将50%存储为0.5,将25%存储为0.25,依此类推),然后可以使用DataFormatString="{0:P0}"如预期的那样。

10-05 20:58