我有一个号码(比方说,34),我想找到它的下一个倍数。我可以通过以下方式做到这一点:
经过一番研究后,我发现这是Objective C中的代码:
int number = 34;
int roundedNumber = ceil((double)number/10)*10;
我的问题是:(double)
是什么,为什么删除(double)
导致它向下舍入而不是向上?
我从谷歌搜索中了解到将浮动格式更改为“双精度”但是,老实说,这对我来说太复杂了。任何人都可以简单解释它在做什么吗?
答案 0 :(得分:5)
如果您没有演员,则会发生以下情况(如果数字为34)。
如果你有演员,会发生以下情况:
要意识到的重要一点是整数除法总是朝着0。
答案 1 :(得分:4)
它将number
转换为double
,以便执行浮点除法而不是整数除法。比较1/2
与1.0/2
。