Html.DisplayFor decimal format?

Decorate your view model property with the [DisplayFormat] attribute and specify the desired format:

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

and then in your view:

@Html.DisplayFor(x => x.TAll)

Another possibility if you don’t want to do this on the view model you could also do it inside the view:

@Model.tAll.ToString("N")

but I would recommend you the first approach.


Yet another possibility is to write a custom display template for the decimal type (~/Views/Shared/DisplayTemplates/MyDecimalTemplate.cshtml):

@string.Format("{0:N}", Model)

and then:

@Html.DisplayFor(x => x.TAll, "MyDecimalTemplate")

Leave a Comment