14

在 MVC Razor 视图中,十进制字段需要显示为百分比没有百分比符号。例如 22.5

我知道它可以来自模型,它将类似于:

    [AutoMapIgnore]
    [DisplayFormat(DataFormatString = "{0:F1}")]
    public virtual decimal OffPeakMarginPercent { get { return OffPeakMargin * 100; } }

但根本没有任何影响,目前它显示为:

目前它显示为3.000002.50000

能否请您指导。

我非常感谢您的指导和帮助。

编辑:

如果我在如下视图中格式化,则显示为3.02.5

@row.OffPeakMarginPercent.ToString("0.0")
4

3 回答 3

20

改变

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

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

并从 getter 中删除 *100

这里所说,十进制百分比的格式P不是F

于 2013-10-17T06:17:40.087 回答
1

在 MVC 5 中,您可以更改索引视图,如果您只想在 double 值后显​​示两个零

代码之前

  @Html.DisplayFor(modelItem => item.PRSPrice)

代码之后

 @Convert.ToDouble(item.PRSPrice.Value).ToString("0.00")

谢谢你

于 2019-01-31T13:31:05.663 回答
0

利用

[RegularExpression(@"^\d+(\.\d)?$", ErrorMessage = "Only one decimal point value allowed")]
[Range( 0.1,100)]
public virtual decimal OffPeakMarginPercent { get { return OffPeakMargin * 100; } }
于 2013-10-17T06:18:08.960 回答