在剃须刀中显示 Only,具有可为空的十进制更改格式

本文关键字:十进制 格式 剃须刀 显示 Only | 更新日期: 2023-09-27 17:57:05

我的模型上有一个属性,如下所示:

[DisplayFormat(DataFormatString = "{0:P0}")]
public decimal ? Rate {
    get;
    set;
}

在我的剃刀视图中,我有:

<span class="large bold">- @Html.DisplayFor(x => x.Rate)</span>

问题是:我需要显示的数字是28.71(十进制?如果DisplayForx => x.Rate,则视图显示2.871但如果DisplayForx => x.Rate.Value,则视图显示正确的数字28.71

这是怎么回事??

在剃须刀中显示 Only,具有可为空的十进制更改格式

来自 MSDN:

百分比 ("P") 格式说明符将数字乘以 100 和 将其转换为表示百分比的字符串。精度 说明符指示所需的小数位数。

{0:P0}格式会将十进制数 (28.71) 显示为 28.71 * 100 = 2,871 %(假设您使用的是 en-US 区域性)。

如果您只想将百分号添加到数字中并显示它,请使用以下命令:

[DisplayFormat(DataFormatString = "{0} %")]
DataFormatString = "{0:C0}"

这应该可以完成这项工作。我认为 P0 用于百分比。