Math.Round Visual Studio C# 中的小数点不四舍五入

Math.Round decimal in Visual Studio C# not rounding

我希望我的计算结果为 return 两位小数。 我用 Google 搜索并找到了 Math.Round 函数。 我在几个地方将它应用到我的代码中,即在变量声明之后、return 语句之前、计算行之前和计算行之后,但得到 $251.333333333333 作为我的结果。 我的代码如下所示:

public decimal finalCalc()
    {
        decimal calcNumber3;
        decimal g = firstPartofCalc();
        decimal h = secondPartofCalc();

        if (rbMonthlyPay.Checked)
        {
            Math.Round(calcNumber3 = (((g + h) * 52) / 12), 2) ;
        }
        else
        {
            calcNumber3 = g + h;
        }
        return calcNumber3;
    }

计算 1 和 2 return 小数结果。我知道还有其他一些方法可以获得相同的结果,包括 return 将结果作为字符串。但是,作为编码方面的新手,我真的很想知道为什么这不起作用。

TIA 薇琪

您没有正确地将计算值分配给 calcNumber3,请将其更改为:

calcNumber3 = Math.Round((((g + h) * 52) / 12), 2) ;