我正在尝试制作一个增长率(Double)的计算器,它将结果四舍五入到最接近的整数并从那里重新计算,如下:
let firstUsers = 10.0
let growth = 0.1
var users = firstUsers
var week = 0
while users < 14 {
println("week \(week) has \(users) users")
users += users * growth
week += 1
}
Run Code Online (Sandbox Code Playgroud)
但到目前为止我一直无法做到.
编辑 我有点喜欢这样:
var firstUsers = 10.0
let growth = 0.1
var users:Int = Int(firstUsers)
var week = 0
while users <= 14 {
println("week \(week) has \(users) users")
firstUsers += firstUsers * growth
users = Int(firstUsers)
week += 1
}
Run Code Online (Sandbox Code Playgroud)
虽然我不介意它总是四舍五入,但我不喜欢它,因为 …
我怎样才能在Swift中收集CGFloat?我试过ceil(CDouble(myCGFloat))但只适用于iPad Air和iPhone 5S.
当在另一个模拟设备上运行时,我收到错误消息 'NSNumber' is not a subtype of 'CGFloat'
我做了这个方法
+ (CGFloat) round: (CGFloat)f {
int a = f;
CGFloat b = a;
return b;
}
Run Code Online (Sandbox Code Playgroud)
它按预期工作,但它只是向下舍入.如果它是一个负数,它仍然会向下舍入.
这只是我制作的一个快速方法,它正确地舍入并不是非常重要,我只是为了使我的游戏围绕相机的x和y值.
这个方法好吗?它快吗?或者有更好的解决方案吗?