如何在 gridview 中显示百分号 asp.net

how to display percentage sign in gridview asp.net

该列的数据类型是 decimal(5,2),我想在我的 gridview 中像这样显示它:

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}"

您正在使用 {0:P} 格式字符串,它根据 MSDN docs 将数字乘以 100 并添加百分号。这就是您显示错误号码的原因。

要根据需要设置格式,请使用 {0:N0} 并手动添加百分号。这会将小数格式化为小数点后零位的简单数字。