我想计算一下:
xx = 95
yy = 45
Math.Round(((xx/ 60) * yy) / 2, 2, MidpointRounding.AwayFromZero);
结果应为35.625,四舍五入为35.63
但我得到的结果是35.62,
我错过了什么?为什么它忽略了第三个小数来计算到35.63?
答案 0 :(得分:2)
我刚刚检查了你的代码,它在我的控制台应用程序中返回35.63(假设xx和yy变量的类型是double)。 我可以建议将Math.Round表达式的第一个参数拉出到单独的变量中,并确保它被评估为35.625。
答案 1 :(得分:0)
将十进制值舍入到指定数量的小数位。一个参数指定如果值在两个数字之间的中间位置时如何舍入值。[MSDN] ((xx / 60)* yy)/ 2给你35.62499999999999和它的正常得到35.62,因为35.62499999999999< 35.625,