我的双打未达到预期的四舍五入。简单的例子:
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);
,但给了我相同的价值。
我的代码中的错误在哪里?
答案 0 :(得分:8)
Math.Round
返回四舍五入的数字 - 不更新您传递的数字。
您需要获取返回值并将其分配给您的变量:
bDurchfluss = DurchflussAktBit * Convert.ToDouble(b) / (double)60;
bDurchfluss = Math.Round(bDurchfluss, 2);