17

我如何转换值和四舍五入 int 值?

例子:

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

获取错误:

无法将类型隐式转换doubleint. 存在显式转换(您是否缺少演员表?)

4

4 回答 4

31

你可以尝试使用这个: -

 int x = 121;
 int y = (int)Math.Ceiling((double)x/8);     
于 2013-09-01T17:26:25.713 回答
6

无需转到浮点数学,只需执行以下操作:

y = (x+7) / 8

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

于 2013-09-01T17:28:36.463 回答
2

实际上,您正在float为. 赋值int。因此,您应该在分配之前将其转换为 int

int y = (int)Math.Ceiling((double)x/8);
于 2013-09-01T17:27:48.447 回答
-1

使用显式强制转换

int y=(int)Math.Ceiling(x/8);
于 2013-09-01T17:27:34.120 回答