Невозможно установить формат отображения до 2 десятичных знаков при использовании сетки mvc6

2

Мне нужно отобразить некоторые средние суммы валютных значений в моем проекте asp mvc.net.

Я использую сетку mvc 6 для отображения данных, и я пробовал эти решения:

[DisplayFormat(DataFormatString = "{0:C}")]
public double? AverageCost { get; set; }

[DisplayFormat(DataFormatString = "{0:#.####}")]
public double? AverageCost { get; set; }

[RegularExpression(@"^\d+\.\d{0,2}$")]
public double? AverageCost { get; set; }

Но все же мои значения отображаются с несколькими десятичными знаками:

Изображение 174551

Я что-то пропустил?

Я знаю, что могу форматировать столбцы, используя сетку mvc 6, но разве нет способа сделать это в ViewModel?

Обратите внимание, что это НЕ дубликат предлагаемого вопроса. Если вы действительно прочитаете вопросы, вы это увидите.

  • 3
    [DisplayFormat(DataFormatString = "{0:C2}")] для 2 цифр docs.microsoft.com/en-us/dotnet/standard/base-types/…
  • 2
    "суммы валютных значений" & " double ? AverageCost" = плохая идея.
Показать ещё 14 комментариев
Теги:
asp.net-core-mvc
format
currency
mvcgrid

1 ответ

1

Я смог сделать это, используя метод Formatted и передавая значение {0:N} в самом представлении:

columns.Add(model => model.AverageCost).Titled("AverageCost").Formatted("{0:N}");

Я нашел ответ, получив строку формата от здесь и найти Formatted метод, используемый здесь

Это идеально для меня, поскольку оно отображает значения как валюту, но не отображает символ валюты как {0:C}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню