我相信这是一个简单的过程。

我正在使用MVC3 ASP.NET 4.5,C#,Razor,SQL Server 200,EF6

我有一个定义为十进制18,3的DB列。如果我的值为1.256,则可以通过“剃刀 View ”将其显示为1.256。但是,如果我的值为1.250,那么我的客户表示希望将其显示为1.25,而不是1.250。这有可能吗?

我的代码通常是:

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

提前致谢。

最佳答案

您可以根据需要使用General ("G") Format Specifier格式化decimal值。 "G29"重载正是您所需要的。

但是您不能将.ToStringDisplayFor帮助器一起使用。因此,我建议在您的ViewModel中添加其他正确格式的字段作为answered here

因此,您的最终解决方案可以是这样的:

ViewModel中:

public string FormattedDecimalValue1
{
    get
    {
        return this.DecimalValue1.ToString("G29");
    }
}

并在View上:
@Html.DisplayFor(modelItem => item.FormattedDecimalValue1)

关于asp.net-mvc - 如何通过Razor View 在MVC的同一字段中将1.250显示为1.25,将1.256显示为1.256,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29230106/

10-11 02:45