1

伙计们。我想问一下是否有任何方法可以对货币格式进行 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 字段内。

有什么建议么?

4

2 回答 2

3

尝试这个:

  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. 实体框架中

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

编辑器模板示例:

为货币创建一个编辑器模板(~/Views/Shared/EditorTemplates/Currency.cshtml)

货币.cshtml

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

利用:

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

您可以通过此链接和链接获取更多信息。

于 2017-05-08T03:31:51.370 回答
2
 @Html.Raw(@String.Format("{0:c}", @Model.YourFieldName))

发布这个是因为我在任何地方都找不到这个答案。这最终为我工作。

于 2018-03-27T16:26:23.070 回答