如何用Fix(N)和Int(N)实现四舍五入取整?(包括正数和负数) 跪谢

只用Fix 和 Int 谢谢谢谢
2024-12-03 12:20:06
推荐回答(2个)
回答1:

解决这个问题前先要搞清楚一个问题,就是对于负数的取整,到底是取最大整数还是最小整数。比如-2.655,是取-2还是-3的问题。这里给一个方法吧:把要取整的数加上0.5。如果想取到-2就用Fix方法,如果取-3就用Int方法。
例:
Fix(N+0.5) Int(N+0.5)
-2.655 -2 -3
2.655 3 3

回答2:

设x是浮点变量。
x += x>0 ? 0.5 : x>0 ? -0.5 : 0.0;
fix(x);或INT(x);就可以了。