列的数据类型是十进制(5,2),我想在我的gridview中像这样显示它:
10% or 5% or 18% etc.
但它现在显示在我的gridview中,像这样:
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}"
。
您正在使用{0:P}
格式字符串,根据MSDN文档将数字乘以100并添加百分比符号。这就是为什么你得到错误的号码显示。
如需格式化,请使用{0:N0}
并手动添加百分比符号。这将把小数格式化为小数点后0位的简单数字。