2013-10-17 181 views
8

在MVC Razor视图中,需要以百分比形式显示小数点字段BUT没有百分比符号。例如22.5将百分比格式化为百分比以显示在视图中?

我的理解可以从模型,它会是这样的:

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

但没有做任何 - 影响可言,目前它被显示为:

目前显示为3.000002.50000

你可以请指导。

我高度评价你的指导和帮助。

编辑:

如果考虑I格式如下,它显示为3.02.5

@row.OffPeakMarginPercent.ToString("0.0") 
+0

好做了,你试着去'{0:N1}' – V4Vendetta

回答

12

变化

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

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

,并删除* 100从吸气

如说here格式为小数的百分比是PF

+0

我有试过这个,但它仍然显示为3.00000。你能看到我的编辑和指南吗?谢谢 – Toubi

1

使用

[RegularExpression(@"^\d+(\.\d)?$", ErrorMessage = "Only one decimal point value allowed")] 
[Range(0.1,100)] 
public virtual decimal OffPeakMarginPercent { get { return OffPeakMargin * 100; } } 
+0

谢谢@Carlos Landeras,由于某种原因,我无法使用正则表达式。而且它是一个计算领域。你可以请指导为什么格式不工作形式模型?请参阅我的编辑。非常感谢。 – Toubi

+0

试试这个:{0:000.0} –