在玩游戏时,我在swift中找到了round()函数.它可以用如下:
round(0.8)
Run Code Online (Sandbox Code Playgroud)
哪个将按预期返回1.这是我的问题:
我怎么快速地绕千分之一?
我希望能够插入一个数字,比如0.6849,然后回到0.685.round()如何做到这一点?或者,它不是,在这种情况下,什么功能呢?
我做了这个方法
+ (CGFloat) round: (CGFloat)f {
int a = f;
CGFloat b = a;
return b;
}
Run Code Online (Sandbox Code Playgroud)
它按预期工作,但它只是向下舍入.如果它是一个负数,它仍然会向下舍入.
这只是我制作的一个快速方法,它正确地舍入并不是非常重要,我只是为了使我的游戏围绕相机的x和y值.
这个方法好吗?它快吗?或者有更好的解决方案吗?
我试图做这样的事情
var myCGFloat: CGFloat = 3.001
ceilf(myCGFloat)
Run Code Online (Sandbox Code Playgroud)
但ceilf只Float取值.在搜索时,有很多关于进行此转换的不同答案,或者取决于它是32位还是64位架构.
事实证明解决方案相当容易,但我花了太长时间才找到它.所以我写这个Q&A对作为其他人的捷径.