在视图中格式化小数

时间:2012-03-15 14:21:16

标签: asp.net-mvc

如果我在某个字段中有一个小数值,并且我试图在页面上显示,我该如何格式化它(我会在网络表单中使用string.format):

@Html.DisplayFor(Function(modelItem) String.Format("{0:n0}",currentItem.QualityM1))

VS2010中有错误的错误:模板只能用于字段访问,属性访问,单维数组索引或单参数自定义索引器表达式。

3 个答案:

答案 0 :(得分:21)

我不会在视图中执行此操作。最好集中这个并将此信息作为元数据提供如下:

public class Foo { 

    [DisplayFormat(DataFormatString = "{0:n0}")]
    public decimal Bar { get; set; }
}

然后像往常一样使用它:

@Html.DisplayFor(m => m.Bar)

答案 1 :(得分:12)

您需要使用Html.DisplayFor吗?

否则你可以这样做:

@String.Format("{0:n0}",currentItem.QualityM1)

答案 2 :(得分:4)

不要在DisplayFor ...中在类中设置属性,如此。

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:N2}")]
    public virtual decimal Valor
    {
        get;
        set;
    }