如何使用Ceiling进行round int

时间:2013-09-01 17:24:24

标签: c# rounding

如何转换值并舍入int值?

示例:

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

获取错误:

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

4 个答案:

答案 0 :(得分:28)

你可以尝试使用它: -

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

答案 1 :(得分:5)

无需转移到浮点数学,只需这样做:

y = (x+7) / 8

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

答案 2 :(得分:1)

实际上你正在为float分配int。所以你应该在分配之前将它转换为int

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

答案 3 :(得分:0)

使用显式强制转换

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