说我有
SDL_Rect rect;
rect.x = 5; // rect.x is of type "Uint16"
int y = 11;
我想执行操作rect.x/y
。
我想将结果作为浮点数,然后四舍五入到最近的int
.
像这样的东西:
float result = rect.x/y;
int rounded = ceil(result);
我该怎么做?
投要么要么rect.x
浮动y
,然后做除法。这将强制整个除法运算在浮点中进行。
float result = rect.x/(float)y;
int rounded = ceil(result);
你需要转换你的变量。
float result = (float)rect.x / (float)y;
int rounded = ceil(result);
您可以在没有任何浮点类型的情况下执行此操作。如果x
和y
是正整数,则 x 除以 y,四舍五入为(x+y-1)/y
。