Razor 将int转换为货币格式

Razor 将int转换为货币格式,razor,asp.net-mvc-5,int,currency,data-formats,Razor,Asp.net Mvc 5,Int,Currency,Data Formats,伙计们。我想问一下,是否有任何方法可以将int输入到货币格式?我试过使用 [DisplayFormat(DataFormatString = "{0:C}", ApplyFormatInEditMode = true)] public int TotalAmount { get; set; } 但是,它会显示一个空的 @Html.EditorFor 如果我用 [DisplayFormat(DataFormatString = "{0:F2}", ApplyFormatInEditMode =

伙计们。我想问一下,是否有任何方法可以将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时,它会自动格式化为

10.000卢比

在@Html.EditorFor字段中

有什么建议吗?

试试这个:

  • “C”或“C”货币结果:

    [DisplayFormat(DataFormatString=“{0:C}”,ApplyFormatInEditMode=true]
    公共十进制总数{get;set;}

  •    [DisplayFormat(DataFormatString = "{0:C0}")]
        public decimal TotalAmount { get; set; }
    
  • “N”或“N”编号结果:

    [DisplayFormat(DataFormatString=“{0:N}”,ApplyFormatInEditMode=true]
    公共十进制总数{get;set;}

  • 在实体框架中

  • [数据类型(DataType.Currency)]
    公共十进制总数{get;set;}

    编辑示例:

    为货币创建编辑器模板
    (~/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")
    
    您可以从表单和链接中获得更多信息。

    试试以下方法:

  • “C”或“C”货币结果:

    [DisplayFormat(DataFormatString=“{0:C}”,ApplyFormatInEditMode=true]
    公共十进制总数{get;set;}

  •    [DisplayFormat(DataFormatString = "{0:C0}")]
        public decimal TotalAmount { get; set; }
    
  • “N”或“N”编号结果:

    [DisplayFormat(DataFormatString=“{0:N}”,ApplyFormatInEditMode=true]
    公共十进制总数{get;set;}

  • 在实体框架中

  • [数据类型(DataType.Currency)]
    公共十进制总数{get;set;}

    编辑示例:

    为货币创建编辑器模板
    (~/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")
    
    您可以通过表格和链接获得更多信息

    发布此消息是因为我在任何地方都找不到此答案。这最终对我有用


    发布此消息是因为我在任何地方都找不到此答案。这最终对我有用。

    它需要十进制作为它的模型吗?因为,它必须让我更改所有的模型和数据库,因为它们要求使用int作为值模型。我认为如果您使用实体框架,3个选项(
    [DataType(DataType.Currency)]
    )是最好的选择。@xian我不确定我使用的是什么。我正在帮助我大学的IT部门开发一个网站。它连接到数据库。但是,他们是如何绑定的,我不确定..我测试选项3,我使用实体框架6。这对我来说是可行的。你可以使用editortemplate进行格式化。@SIONCRISTIANI更新我的答案并添加EditorTemplates。@SIONCRISTIAND它是否需要十进制作为模型?因为,它必须让我更改所有的模型和数据库,因为它们要求使用int作为值模型。我认为如果您使用实体框架,3个选项(
    [DataType(DataType.Currency)]
    )是最好的选择。@xian我不确定我使用的是什么。我正在帮助我大学的IT部门开发一个网站。它连接到数据库。但是,他们如何约束它,我不确定..我测试选项3,我
    使用实体框架6
    。这对我来说是可行的。你可以使用editortemplate进行格式化。@SIONCRISTIANI更新我的答案并添加EditorTemplates。@SIONCRISTIANT如果你能详细说明这是一个解决方案的原因,这个答案会更有用。如果你能去的话,这个答案会更有用详细说明为什么这是一个解决方案。