Атрибут формата для отображения 8 десятичных знаков в ядре ASP. net - PullRequest
1 голос
/ 10 июля 2020

Я хочу отображать мои latitude и longitude до 8 знаков после запятой. Однако по умолчанию я показываю его только с двумя десятичными знаками. Как мне изменить мою модель?

Модель:

    public class LocationModel
    {
        [Display(Name = "Latitude")]
        public decimal Latitude { get; set; }

        [Display(Name = "Longitude")]
        public decimal Longitude { get; set; }
    }

1 Ответ

1 голос
/ 10 июля 2020

Два варианта:

  1. DataFormatString
public class LocationModel
{
    [Display(Name = "Latitude")]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:G8}")]
    public decimal Latitude { get; set; }

    [Display(Name = "Longitude")]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:G8}")]
    public decimal Longitude { get; set; }
}
Математика
public class LocationModel
{
    private decimal _latitude;
    private decimal _longitude;

    [Display(Name = "Latitude")]
    public decimal Latitude
    {
        get
        {
            return Math.Round(_latitude, 8);
        }
        set
        {
            this._latitude = value;
        }
    }

    [Display(Name = "Longitude")]
    public decimal Longitude
    {
        get
        {
            return Math.Round(_longitude, 8);
        }
        set
        {
            this._longitude = value;
        }
    }
}
...