math.round不使用双打

时间:2015-08-11 09:47:35

标签: c#

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

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

 bDurchfluss = DurchflussAktBit * Convert.ToDouble(b) / (double)60;
 Math.Round(bDurchfluss, 2);

即使在舍入后,我得到38.141666666666666的值bDurchfluss,我期望值38.14。还尝试Math.Round((decimal)bDurchfluss, 2);,但给了我相同的价值。

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

1 个答案:

答案 0 :(得分:8)

Math.Round返回四舍五入的数字 - 更新您传递的数字。

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

 bDurchfluss = DurchflussAktBit * Convert.ToDouble(b) / (double)60;
 bDurchfluss = Math.Round(bDurchfluss, 2);