【问题标题】:How to format decimal in MVC3 with more than 2 decimals如何在 MVC3 中格式化多于 2 个小数的小数
【发布时间】:2011-12-27 10:34:28
【问题描述】:

我有一个由 WCF 服务管理的实体,因此该实体是通过服务引用生成的,因此我无法对其进行注释以指定数据格式。 它是十进制的,必须用 6 位小数格式化。 如何在 MVC3 中的显示和编辑器中完成此操作?

在展示中我可以使用

@Html.Display(format("{0:f4}", model.MyField))

它不是很优雅,但它是可行的。 但是,如何使用 4 位小数格式化编辑器呢?

编辑:

我找到this 对类似问题的回答,但它给了我一行错误

return html.TextBox(name, value, htmlAttributes);

知道怎么解决吗?

谢谢

【问题讨论】:

  • 我更新了我的答案,以回应您的编辑。

标签: asp.net-mvc-3 formatting editor number-formatting


【解决方案1】:

我设法做到了:

  1. 我使用的显示器

    @string.Format("{0:f4}", Model.KPINumber)
    
  2. 我使用的编辑

    @Html.TextBox("KPINumber", string.Format("{0:f4}", Model.KPINumber))
    

【讨论】:

    【解决方案2】:

    这里有一个更简单的语法:

    @Html.Display(model.MyField.ToString("f4"))
    

    如果你想在可编辑的文本框中显示它,你可以这样做:

    @Html.TextBox("myField", model.MyField.ToString("f4"))
    

    显然,这不会在客户端强制使用 4 位小数,但它最初以 4 位小数显示。

    [编辑]:响应您的编辑:That question's“接受”答案显然无法编译,并且 cmets 也表明了这一点。
    看看Gaz's answer,因为它修复了编译错误并且看起来很有效。

    【讨论】:

    • 感谢您的回答。但是,它实际上不显示任何内容,无论是在视图中还是在编辑中 - 该区域都是空的。知道为什么吗?
    • 好吧,我不确定f4 是否正确,我只是从您的示例中复制了它。我通常使用D4N4
    • 奇怪,使用这种方法并没有为我显示任何内容,但它给了我让它工作的想法。感谢您的建议。
    猜你喜欢
    • 2011-01-01
    • 2015-01-04
    • 2013-04-08
    • 2011-08-15
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    相关资源
    最近更新 更多