我的模型上有一个属性,如:
[DisplayFormat(DataFormatString = "{0:P0}")]
public decimal ? Rate {
get;
set;
}
在我的剃刀视图中,我有:
<span class="large bold">- @Html.DisplayFor(x => x.Rate)</span>
问题是:我需要显示的数字是28.71
(十进制?)
如果DisplayFor
与x => x.Rate
一致,则视图会显示2.871
,但如果DisplayFor
与x => x.Rate.Value
一致,则视图会显示正确的数字28.71
这里发生了什么?
答案 0 :(得分:2)
来自MSDN:
百分比(“P”)格式说明符将数字乘以100和 将其转换为表示百分比的字符串。精度 说明符表示所需的小数位数。
{0:P0}
格式会将您的十进制数字(28.71)显示为28.71 * 100 = 2,871 %
(假设您使用的是en-US文化)。
如果您只想将百分号添加到数字并显示,请使用:
[DisplayFormat(DataFormatString = "{0} %")]
答案 1 :(得分:0)
DataFormatString = "{0:C0}"
那应该做的工作。我认为P0用于百分比。