2017-05-08 126 views
1

guys。我想问一下,是否有无限制地向货币格式输入整数?我一直在使用将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

尝试这种情况:

  1. “C” 或 “c” 货币结果:

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

OR

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

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

  • 实体框架

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

    ,你可以得到更多的信息形式thisthis链接。

    +0

    是否需要十进制作为其模型?因为它必须让我改变我的所有模型和数据库,因为它们要求使用int作为值模型。 –

    +0

    我认为3号。选项('[DataType(DataType.Currency)]')最好,如果你使用** Entity Framework **。@ SionChristian – Ashiquzzaman

    +0

    我不确定我在用什么。我正在帮助我的大学IT部门开发一个网站。它连接到数据库。但是,他们如何绑定它,我不确定。 –