如何通过 Razor 视图在 MVC 的同一字段中将 1.250 显示为 1.25,将 1.256 显示为 1.256
How to display 1.250 as 1.25, and 1.256 as 1.256 in the same field in MVC, via a Razor View
我相信这很简单。
我正在使用 MVC3 ASP.NET 4.5、C#、Razor、SQL Server 200、EF6
我有一个定义为十进制 18,3 的 DB 列。如果我的值为 1.256,我意识到这将通过 Razor 视图显示为 1.256。但是,如果我的值为 1.250,那么我的客户表示希望将其显示为 1.25 而不是 1.250。这可能吗?如果可能的话如何?
我的代码通常是:
@Html.DisplayFor(modelItem => item.DecimalValue1)
提前致谢。
您可以使用 General ("G") Format Specifier 根据需要格式化您的 decimal
值。 "G29"
重载正是您所需要的。
但是您不能将 .ToString
与 DisplayFor
助手一起使用。所以我建议在你的 ViewModel
中添加额外的正确格式的字段作为 answered here.
所以你的最终解决方案可以是这样的:
在ViewModel
中:
public string FormattedDecimalValue1
{
get
{
return this.DecimalValue1.ToString("G29");
}
}
在 View
上:
@Html.DisplayFor(modelItem => item.FormattedDecimalValue1)
我相信这很简单。
我正在使用 MVC3 ASP.NET 4.5、C#、Razor、SQL Server 200、EF6
我有一个定义为十进制 18,3 的 DB 列。如果我的值为 1.256,我意识到这将通过 Razor 视图显示为 1.256。但是,如果我的值为 1.250,那么我的客户表示希望将其显示为 1.25 而不是 1.250。这可能吗?如果可能的话如何?
我的代码通常是:
@Html.DisplayFor(modelItem => item.DecimalValue1)
提前致谢。
您可以使用 General ("G") Format Specifier 根据需要格式化您的 decimal
值。 "G29"
重载正是您所需要的。
但是您不能将 .ToString
与 DisplayFor
助手一起使用。所以我建议在你的 ViewModel
中添加额外的正确格式的字段作为 answered here.
所以你的最终解决方案可以是这样的:
在ViewModel
中:
public string FormattedDecimalValue1
{
get
{
return this.DecimalValue1.ToString("G29");
}
}
在 View
上:
@Html.DisplayFor(modelItem => item.FormattedDecimalValue1)