我需要找到两个整数的除法并将其四舍五入到下一个上整数
例如 x = 7/y = 5 = 2 ; 这里x和y总是大于0
这是我目前的代码
int roundValue = x % y > 0? x / y + 1: x / y;
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做到这一点?
Jon*_*eet 45
您可以使用Math.Ceiling...但这需要转换为/从double值转换.
另一种方法是同时使用Math.DivRem两个部件.
public static int DivideRoundingUp(int x, int y)
{
// TODO: Define behaviour for negative numbers
int remainder;
int quotient = Math.DivRem(x, y, out remainder);
return remainder == 0 ? quotient : quotient + 1;
}
Run Code Online (Sandbox Code Playgroud)
Mil*_*jka 10
所有解决方案看起来太难了 对于x/y的上限值,请使用此值
( x + y - 1 ) / y
Run Code Online (Sandbox Code Playgroud)