Asp.net mvc 3 如何在MVC3中设置小数位数超过2位的格式

Asp.net mvc 3 如何在MVC3中设置小数位数超过2位的格式,asp.net-mvc-3,formatting,editor,number-formatting,Asp.net Mvc 3,Formatting,Editor,Number Formatting,我有一个由WCF服务管理的实体,因此该实体是通过服务引用生成的,因此我无法对其进行注释以指定数据格式。 它是十进制的,必须格式化为6位小数。 如何在MVC3、display和editor中实现这一点 在展示中,我可以使用 @Html.Display(format("{0:f4}", model.MyField)) 这不是很优雅,但它是可行的。 但是我如何用4位小数格式化编辑器呢 编辑: 我找到了一个类似问题的答案,但它给了我一个错误 return html.TextBox(name, valu

我有一个由WCF服务管理的实体,因此该实体是通过服务引用生成的,因此我无法对其进行注释以指定数据格式。 它是十进制的,必须格式化为6位小数。 如何在MVC3、display和editor中实现这一点

在展示中,我可以使用

@Html.Display(format("{0:f4}", model.MyField))
这不是很优雅,但它是可行的。 但是我如何用4位小数格式化编辑器呢

编辑:

我找到了一个类似问题的答案,但它给了我一个错误

return html.TextBox(name, value, htmlAttributes);
你知道怎么解决吗


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

@Html.Display(model.MyField.ToString("f4"))
如果要在可编辑的文本框中显示,可以执行相同的操作:

@Html.TextBox("myField", model.MyField.ToString("f4"))
显然,这不会在客户端强制执行4位小数,但它最初以4位小数显示

[编辑]:回应您的编辑:“已接受”答案显然无法编译,评论也表明了这一点。

请看一看,因为它修复了编译错误,并且看起来可以正常工作

我设法做到了以下几点:

  • 我用它来展示

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

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

  • 谢谢你的回答。但是,它实际上不显示任何内容,无论是在视图中还是在编辑中-该区域是空的。知道为什么吗?嗯,我不确定
    f4
    是否正确,我只是从您的示例中复制了它。我通常使用
    D4
    N4
    。奇怪的是,使用这种方法,它没有为我显示任何内容,但它让我想到了如何让它工作。谢谢你的建议。我更新了我的答案,以回应你的编辑。