该列的数据类型为十进制(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}"
如预期的那样。