【问题标题】:Decimal field format in ASP.NETCore modelASP.NET Core 模型中的十进制字段格式
【发布时间】:2019-10-04 08:58:11
【问题描述】:

在 SQL Server 中,我有一个表的主键声明如下:

[CustomerID] [numeric](18, 0) IDENTITY(1000000,1) NOT NULL,

在 ASP.NET Core 2.2 模型中,我映射了这个字段并遵循:

public decimal CustomerId { get; set; }

如何让小数位不出现在应用程序中?

【问题讨论】:

  • 当你有一个十进制值时,里面总是有十进制数字,你必须在显示之前对其进行格式化。基本上可以根据格式更改该值的表示形式。
  • @Siavash : 不能用注释做点什么?
  • 当然,格式化可以在任何地方进行。我看到已经有一个使用注释的答案。

标签: c# asp.net-core model


【解决方案1】:

使用 DisplayFormat 属性:

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

【讨论】:

    【解决方案2】:

    如果您只需要显示不带小数位的格式,则可以在任何地方使用ToString 应用格式,最好是在您尝试显示它的位置。下面的代码将应用舍入。

    CustomerId.ToString("0");
    

    如果您需要在不带小数点的情况下以其他容量使用它,那么您应该将表示数据库表的模型映射到特定于您尝试执行的操作的另一个模型,并在该模型中提供正确的类型。在这种情况下可能是 intstring

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-03
      • 2018-07-08
      相关资源
      最近更新 更多