如何使用Math.Round舍入十进制值但保留尾随零

时间:2013-05-17 14:27:19

标签: asp.net-mvc-3 math decimal

在我的应用程序中,某些字段包含十进制数字。并且可以仅输入2个小数点。在进行一些计算后,将显示结果,并且答案还应包含2个小数点。为此,我使用了以下代码: -

obj.Revenue = 0.00m;

obj.Revenue = Math.Round(Convert.ToDecimal(obj.Revenue), 2);

[编辑]

内部视图: -

@Html.TextBoxFor(model => model.Revenue, new { @id = "txtRevenue", @readonly = "readonly", @class = "decimalField" })

因此应该显示300.00作为答案。但我得到了300.我该如何解决这个问题?

5 个答案:

答案 0 :(得分:1)

我知道回答这个问题为时已晚,但这可能有助于其他问题。

您可以在您声明属性的模型中编写此行。 [DisplayFormat(DataFormatString = "{0:0.###}")]

这是我在代码中使用的实际示例。

[DisplayFormat(DataFormatString = "{0:0.##}")]
    public Decimal CreditLimit { get; set; }

这会将您的值设置为小数点后两位。

  

e.g。   3.3333333 => 3.33

答案 1 :(得分:0)

使用toFixed(n);

var d = 300.00;
alert(d.toFixed(2));

答案 2 :(得分:0)

使用toFixed()函数

例如:

(12.5).toFixed(2); // 12.50

答案 3 :(得分:0)

试试这个:

@Html.TextBoxFor(model => model.Revenue, new {value = Model.Revenue.ToString("#.##"), @id = "txtRevenue", @readonly = "readonly", @class = "decimalField" })

答案 4 :(得分:0)

您需要以这种方式为model.Revenue属性实现get访问器:

get{ return _revenue.ToString("#.##"); }