C# 查看渲染额外的小数位数

C# 查看渲染额外的小数位数,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我正在开发一个ASP.NETMVC4应用程序,我还是MVC的新手。当我使用Html.TextBox时,我注意到视图呈现额外的小数位,如下所示 @Html.TextBox("OriginalContractAmt", Model == null ? 0 : Model.OriginalContractAmt, new { @readonly = true }) OriginalContractAmt属性是模型中的NotMapped字段,视图显示的值为479.4000 我想强制它保留小数点

我正在开发一个ASP.NETMVC4应用程序,我还是MVC的新手。当我使用Html.TextBox时,我注意到视图呈现额外的小数位,如下所示

    @Html.TextBox("OriginalContractAmt", Model == null ? 0 : Model.OriginalContractAmt, new { @readonly = true })
OriginalContractAmt属性是模型中的NotMapped字段,视图显示的值为479.4000

我想强制它保留小数点后两位。i、 e.479.40。如何存档?在模型中尝试了跟随,但没有任何区别

    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:0.0#}")]
提前谢谢

可以使用Math.Round()将数字四舍五入到小数点后2位

比如:

如果不想向上取整或向下取整,则可以使用truncate,如下所示:

您可以使用Math.Round()将数字四舍五入到小数点后2位

比如:

如果不想向上取整或向下取整,则可以使用truncate,如下所示:


您可以这样更新,尽管感觉有点像黑客:

@Html.TextBox("OriginalContractAmt", Model == null ? 0 : Decimal.Round(Model.OriginalContractAmt, 2), new { @readonly = true })

我假设舍入是可以的,因为无论如何,回发时会失去精度。

您可以这样更新,尽管感觉有点像黑客:

@Html.TextBox("OriginalContractAmt", Model == null ? 0 : Decimal.Round(Model.OriginalContractAmt, 2), new { @readonly = true })

我假设舍入是可以的,因为无论如何,回发时都会丢失精度。

您指定了错误的掩码:

  • 0是强制数字
  • #是可选数字
因此,这个掩码
{0:0.0}
中的小数点是:

  • 0:小数点后1位
  • #:1个可选的小数位

因此,您的掩码应该是
{0:0.00}
,即两个强制小数位数。

您指定了错误的掩码:

  • 0是强制数字
  • #是可选数字
因此,这个掩码
{0:0.0}
中的小数点是:

  • 0:小数点后1位
  • #:1个可选的小数位

因此,您的掩码应该是
{0:0.00}
,即两个强制小数位数。

“Model.OriginalContractAmt也包含预期值,即479.4”-您是如何检查的?(如果是通过即时窗口,我怀疑这可能是错误的。)我通过控制器和视图的监视窗口检查了该值。我猜该值实际上是479.4000m,但监视窗口正在截断它。如果在watch窗口中调用
Model.OriginalContractAmt.ToString()
,会发生什么情况?恐怕我已经听不懂了。很高兴我把问题解决了一点-我建议您适当地编辑您的问题。[DisplayFormat]属性仅在EditorFor/DisplayFor中使用,而不被TextBoxFor等原始HTML API使用。请尝试使用Editor/EditorFor“还Model.OriginalContractAmt包含期望值479.4”-您是如何检查的?(如果是通过即时窗口,我怀疑这可能是错误的。)我通过控制器和视图的监视窗口检查了该值。我猜该值实际上是479.4000m,但监视窗口正在截断它。如果在watch窗口中调用
Model.OriginalContractAmt.ToString()
,会发生什么情况?恐怕我已经听不懂了。很高兴我把这个问题解决了一点-我建议您适当地编辑您的问题。[DisplayFormat]属性仅在EditorFor/DisplayFor中使用,而不在TextBoxFor等原始HTML API中使用。请尝试使用Editor/EditorFor