如何在MVC3中格式化小数超过2位小数

时间:2011-11-12 00:27:07

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

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

在显示中我可以使用

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

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

编辑:

我发现this回答了一个类似的问题,但它在行中给出了错误

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

知道怎么解决吗?

由于

2 个答案:

答案 0 :(得分:3)

这是一种更简单的语法:

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

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

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

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

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

答案 1 :(得分:3)

我设法如下:

  1. 用于显示我用过

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

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