如何使用Ceiling进行round int

sha*_* ko 16 c# rounding

我如何转换值并舍入int值?

例:

int x = 121;
int y = Math.Ceiling(x/8);
Run Code Online (Sandbox Code Playgroud)

得到错误:

无法隐式转换doubleint.存在显式转换(您是否错过了演员?)

Rah*_*thi 28

你可以试试这个: -

 int x = 121;
 int y = (int)Math.Ceiling((double)x/8);     
Run Code Online (Sandbox Code Playgroud)

  • 这太荒谬了......显然我想要一个整数,我正在使用ceil函数 - 为什么go-to返回小数? (7认同)
  • 可能想使用`x/8m`来删除对'Math.Ceiling`的模糊调用 (2认同)

zmb*_*mbq 6

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

y = (x+7) / 8
Run Code Online (Sandbox Code Playgroud)

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