how do round int with Ceiling
如何转换值并四舍五入为整数值?
示例:
1 2
| int x = 121;
int y = Math.Ceiling(x/8); |
获取错误:
无法将类型double隐式转换为int。存在显式转换(您是否缺少演员表?)
- (int)Math.Ceiling(x / 8);实际上,您是将float值分配给int。因此,您应该将其强制转换为int
-
收到此错误:以下方法或属性之间的调用不明确:'System.Math.Ceiling(double)'和'System.Math.Ceiling(decimal)
您可以尝试使用此:-
1 2
| int x = 121;
int y = (int)Math.Ceiling((double)x/8); |
- 可能想使用x/8m删除对Math.Ceiling的模糊调用
-
收到此错误:以下方法或属性之间的调用不明确:'System.Math.Ceiling(double)'和'System.Math.Ceiling(decimal)
-
试试这个:-int y =(int)x / 8m;或int y =(int)Math.Ceiling((double)x / 8);
-
这太荒谬了……显然我想要一个整数,我正在使用ceil函数-为什么要返回小数?
无需进行浮点运算,只需执行以下操作:
(a + b - 1) / b向下舍入等于a / b向上舍入。
实际上您是将float的值分配给int。因此,应在将
设置为int之前将其强制转换为int。
1
| int y = (int)Math.Ceiling((double)x/8); |
-
收到此错误:以下方法或属性之间的调用不明确:'System.Math.Ceiling(double)'和'System.Math.Ceiling(decimal)
使用显式强制转换
1
| int y=(int)Math.Ceiling(x/8); |
-
收到此错误:以下方法或属性之间的调用不明确:'System.Math.Ceiling(double)'和'System.Math.Ceiling(decimal)