ASP.NET MVC 3在来自SQL Server 2008的模型中显示十进制值(18,1)

问题描述:

我对模型上设置的十进制值有疑问。 在我的SQL服务器中,displaySize字段类型是十进制(18,1) 如何在模型中设置十进制类型?ASP.NET MVC 3在来自SQL Server 2008的模型中显示十进制值(18,1)

当我设置像

它显示像21.00不21. 如果我把3.7的话,就出来了3.70。

如何设置十进制格式? 这听起来很简单的问题,但我目前是初学者MVC 3。 你能给一些答案吗?谢谢。

您可以在模型属性使用DisplayFormatAttribute

[DisplayFormat(DataFormatString = "{0:0.###}")] 
public decimal displaySize { get; set; } 

上面会输出数量多达3位小数。其它custom numeric formatsstandard numeric formats也可以使用。

+0

非常感谢你。您的解决方案解决了我的头痛。 – 2017-06-21 17:06:15

您可以定义显示格式:

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

,然后在你的强类型的视图:

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

或:

@Html.EditorFor(x => x.displaySize)