4

我从数据库中有这个字段:

数据类型:数字 (7, 3)

所以将允许最大数量

9999.99

进入数据库。

我把号码

10.000

进入数据库,现在我正在使用以下方法从数据库中检索:

<asp:GridView>

我指定:

<asp:BoundField DataFormatString="{0:p}" />

它输出

1,000.00%

这应该是

10.00%

为什么不是?

我也不能将 <% %> 服务器运行时标签放入:

<asp:TemplateField />

为什么是这样?

4

2 回答 2

12

百分比以小数形式存储,其中 0 = 0% 和 1 = 100%。您应该将值存储为 0.1,而不是 10。

该行<asp:BoundField DataFormatString="{0:p}" />会将您的值 10.000 格式化为 1,000.00%。

这里

于 2012-06-24T15:26:03.820 回答
8

它的行为与 MSDN 上的标准数字格式字符串页面中的描述完全相同:

结果:数字乘以 100 并以百分比符号显示。

因此,要么您不应该使用该格式字符串,要么您应该将值保持为 1 的比例,而不是百分比。

于 2012-06-24T15:26:48.933 回答