圆形浮动值ios

Lig*_*ght 4 objective-c

我有一个值,例如int value1 = 11在分割2(value1 / 2)后它返回5.浮点数中的实际值是5.5,在这种情况下,任何人都可以帮我返回6,或者另一种情况......?一般来说,我希望将值舍入到下一个更高的值.

nne*_*neo 24

如果您想要向上舍入,并且您有float值,请使用ceilf(从<math.h>库中).

如果你想整数除以整数除法n,那么(value + n-1) / n.因此,对于除以2,这就变成了(value + 1) / 2.


Mik*_*ail 10

有函数ceil(<#(double)#>)或ceilf(<#(float)#>)将值舍入到更高的值

你还应该明确地将计算转换为float/double以获得值5.5,它可以舍入到更高.

ceilf(value1 / 2.0f);
Run Code Online (Sandbox Code Playgroud)

要么

ceilf(1.0f * value1 / 2);
Run Code Online (Sandbox Code Playgroud)

如果你不这样做 - 可能会按下一个顺序显示:

ceilf(11/2) = 
1) 11/2 = result int = 5
2) ceilf(5)
3) 5 ->int implicitly cast to float -> 5.0f
4) result 5.0f
Run Code Online (Sandbox Code Playgroud)