我必须在 SQL Server 2005 中设置小数点后 3 位。我只能从模型部分设置它。但是在 sql server 中设置Salary
属性的数据类型是decimal
。
When I set like
public decimal Salary { get; set; }
它将像 21000.000 而不是 21000 一样保存到数据库中。如果我输入 30000.75,那么它将被保存到 30000.750。
我必须在 SQL Server 2005 中设置小数点后 3 位。我只能从模型部分设置它。但是在 sql server 中设置Salary
属性的数据类型是decimal
。
When I set like
public decimal Salary { get; set; }
它将像 21000.000 而不是 21000 一样保存到数据库中。如果我输入 30000.75,那么它将被保存到 30000.750。
我也陷入了同样的境地,终于找到了解决办法。您可以覆盖 DbContext.OnModelCreating() 方法并配置精度
公共类 ApplicationDbContext : IdentityDbContext { 受保护的覆盖无效 OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity().Property(c => c.AssociationFee).HasPrecision(18, 3); } }
希望这可以帮助
试试这个,你也必须在编辑模式下设置。
[DisplayFormat(DataFormatString = "{0:n3}", ApplyFormatInEditMode = true)]
public decimal Amount { get; set; }
将此属性应用于模型中的属性:
[DisplayFormat(DataFormatString = "{0:#,##0}")]
您可以使用 MVC DisplayFormat 属性:
或者出于显示目的,您可以使用字符串并执行以下操作:
Salary.ToString("F");
这将导致输出:30000.75
或者:
Salary.ToString("N");
这将导致输出:30,000.75