math.round不使用双打

Kᴀτ*_*ᴀτᴢ 1 c#

我的双打未达到预期的四舍五入.简单的例子:

 int b = 23;
 double DurchflussAktBit = 99.5;
 double bDurchfluss = 0;

 bDurchfluss = DurchflussAktBit * Convert.ToDouble(b) / (double)60;
 Math.Round(bDurchfluss, 2);
Run Code Online (Sandbox Code Playgroud)

我得到的价值38.141666666666666bDurchfluss连取整后,我所期望的价值38.14.也试过, Math.Round((decimal)bDurchfluss, 2);但给了我相同的价值.

我的代码中的错误在哪里?

Ale*_*ker 8

Math.Round返回圆角号-它并没有更新你通过它的数量.

您需要获取返回值并将其分配给您的变量:

 bDurchfluss = DurchflussAktBit * Convert.ToDouble(b) / (double)60;
 bDurchfluss = Math.Round(bDurchfluss, 2);
Run Code Online (Sandbox Code Playgroud)