Преобразование 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 ответа
Попробуй это:
"C" или "C" Валюта Результат:
[DisplayFormat(DataFormatString = "{0:C}", ApplyFormatInEditMode = true)] public decimal TotalAmount { get; set; }
ИЛИ ЖЕ
[DisplayFormat(DataFormatString = "{0:C0}")]
public decimal TotalAmount { get; set; }
"N" или "n" номер Результат:
[DisplayFormat(DataFormatString = "{0:N}", ApplyFormatInEditMode = true)] public decimal TotalAmount { get; set; }
В 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))
Отправляя это, потому что я нигде не мог найти этот ответ. Это сработало для меня.