转换为货币格式

Converting int to currency format

伙计们。我想问一下有没有办法对货币格式做一个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 字段内。

有什么建议吗?

试试这个:

  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")

您可以通过 this and this link.

获取更多信息
 @Html.Raw(@String.Format("{0:c}", @Model.YourFieldName))

张贴这个是因为我在任何地方都找不到这个答案。这最终对我有用。