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

who*_*ee1 3 asp.net decimal asp.net-mvc-3

我在模型上设置了十进制值的问题.在我的SQL服务器中,displaySize字段类型是十进制(18,1)如何在模型中设置小数类型?

当我设置时

 public decimal displaySize { get; set; }
Run Code Online (Sandbox Code Playgroud)

它显示为21.00而不是21.如果我放3.7,那么它出来3.70.

如何设置十进制格式?这听起来很简单,但我现在是初学者MVC 3.你能回答一下吗?谢谢.

Ric*_*lly 9

您可以在模型属性上使用DisplayFormatAttribute:

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

以上将输出一个最多3位小数的数字.

也可以使用其他自定义数字格式标准数字格式.


Dar*_*rov 5

您可以定义显示格式:

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

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

@Html.DisplayFor(x => x.displaySize)
Run Code Online (Sandbox Code Playgroud)

要么:

@Html.EditorFor(x => x.displaySize)
Run Code Online (Sandbox Code Playgroud)