Преобразование int в формат валюты

Ребята. Я хотел бы спросить, есть ли какой-либо способ сделать ввод int в формате валюты? Я пытался использовать

[DisplayFormat(DataFormatString = "{0:C}", ApplyFormatInEditMode = true)]
public int TotalAmount { get; set; }

но это будет показывать пустой

@Html.EditorFor

И если бы я использовал

[DisplayFormat(DataFormatString = "{0:F2}", ApplyFormatInEditMode = true)]
public int TotalAmount { get; set; }

Было бы только показать 0,00

То, что я хотел бы, это когда я ввожу 10000, он будет автоматически форматировать в

Rp. 10,000

внутри поля @Html.EditorFor.

Какие-либо предложения?

2 ответа

Решение

Попробуй это:

  1. "C" или "C" Валюта Результат:

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

ИЛИ ЖЕ

   [DisplayFormat(DataFormatString = "{0:C0}")]
    public decimal TotalAmount { get; set; }
  1. "N" или "n" номер Результат:

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

  2. В Entity Framework

[DataType(DataType.Currency)] public decimal TotalAmount { get; set; }

Пример EditorTemplates:

Создать шаблон редактора для валюты (~/Views/Shared/EditorTemplates/Currency.cshtml):

Currency.cshtml

@Html.TextBox("", string.Format("{0:c}", ViewData.Model),new { @class = "text-box single-line" })

Использование:

@Html.EditorFor(model => model.TotalAmount, "Currency")

Вы можете получить больше информации по этой и этой ссылке.

 @Html.Raw(@String.Format("{0:c}", @Model.YourFieldName))

Отправляя это, потому что я нигде не мог найти этот ответ. Это сработало для меня.

Другие вопросы по тегам