在MVC Razor视图中,十进制字段需要以百分比 BUT 显示,不带百分号。例如2
或2.5
我知道它可以来自模型,它将类似于:
[AutoMapIgnore]
[DisplayFormat(DataFormatString = "{0:F1}")]
public virtual decimal OffPeakMarginPercent { get { return OffPeakMargin * 100; } }
但是根本没有任何效果,目前显示为:
目前它显示为3.00000
或2.50000
。
你能指导吗。
我高度赞赏你的指导和帮助。
修改
如果我在视图中进行格式设置,则显示为3.0
或2.5
@row.OffPeakMarginPercent.ToString("0.0")
答案 0 :(得分:18)
更改
[DisplayFormat(DataFormatString = "{0:F1}")]
到
[DisplayFormat(DataFormatString = "{0:P2}")]
并从getter中删除* 100
所述here格式的十进制百分比为P
而非F
答案 1 :(得分:1)
使用
[RegularExpression(@"^\d+(\.\d)?$", ErrorMessage = "Only one decimal point value allowed")]
[Range( 0.1,100)]
public virtual decimal OffPeakMarginPercent { get { return OffPeakMargin * 100; } }
答案 2 :(得分:0)
在MVC 5中,如果只想在双精度值后显示两个零,则可以更改索引视图
代码Befor
@Html.DisplayFor(modelItem => item.PRSPrice)
之后的代码
@Convert.ToDouble(item.PRSPrice.Value).ToString("0.00")
谢谢