关于C#:如何使用天花板对整数进行舍入

how do round int with Ceiling

如何转换值并四舍五入为整数值?

示例:

1
2
int x = 121;
int y = Math.Ceiling(x/8);

获取错误:

无法将类型double隐式转换为int。存在显式转换(您是否缺少演员表?)


您可以尝试使用此:-

1
2
 int x = 121;
 int y = (int)Math.Ceiling((double)x/8);


无需进行浮点运算,只需执行以下操作:

1
y = (x+7) / 8

(a + b - 1) / b向下舍入等于a / b向上舍入。


实际上您是将float的值分配给int。因此,应在将

设置为int之前将其强制转换为int。

1
int y = (int)Math.Ceiling((double)x/8);


使用显式强制转换

1
int y=(int)Math.Ceiling(x/8);