显示带有两位小数的值的总和

MrP*_*ram 2 c# asp.net-mvc sum

我有一个项目列表,其中一个属性是十进制类型.

当我尝试对items属性求和并用两位小数显示它时,当总和是偶数时它将不起作用.

例如:

如果总和是30000我希望它显示30000.00,现在它只显示30000.

但如果总和为30000.55,则显示30000.55.

我的观点代码:

for (var j = 0; j < Model.Calculation.Count; j++)
{
     @Model.Calculation[j].Sum(item => item.InterestAmount).ToString("#.##")
}
Run Code Online (Sandbox Code Playgroud)

当总和为30000时,如何让它显示30000.00?

Jon*_*eet 5

您使用的"#.##"是格式字符串,#表示"显示数字是否有效".如果您总是想要显示两位数字,则应将其"0.00"用作模式.有关详细信息,请参阅自定义数字格式字符串文档.

示例代码:

using System;

class Test
{
    static void Main()
    {
        Show(0m);        // 0.00
        Show(0.123m);    // 0.12
        Show(123.456m);  // 123.46
        Show(-123.456m); // -123.46
    }

    static void Show(decimal value)
    {
        Console.WriteLine(value.ToString("0.00"));
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,这使用当前文化进行格式化,因此您最终可以使用"123,46".如果您始终需要小数点分隔符的点,请指定CultureInfo.InvariantCulture格式提供程序.