相关疑难解决方法(0)

在swift中将double值舍入为x个小数位数

谁能告诉我如何在Swift中将double值舍入到x个小数位?

我有:

var totalWorkTimeInHours = (totalWorkTime/60/60)
Run Code Online (Sandbox Code Playgroud)

与totalWorkTime在第二个是NSTimeInterval(双).

totalWorkTimeInHours 会给我时间,但它给了我这么长的精确数字的时间,例如1.543240952039 ......

当我打印时,如何将其舍入到1.543 totalWorkTimeInHours?

double nstimeinterval ios swift

359
推荐指数
25
解决办法
30万
查看次数

如何在Double中将Double舍入到最近的Int?

我正在尝试制作一个增长率(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)

虽然我不介意它总是四舍五入,但我不喜欢它,因为 …

double int rounding swift

148
推荐指数
6
解决办法
13万
查看次数

如何围绕CGFloat

我做了这个方法

+ (CGFloat) round: (CGFloat)f {
    int a = f;
    CGFloat b = a;
    return b;
}
Run Code Online (Sandbox Code Playgroud)

它按预期工作,但它只是向下舍入.如果它是一个负数,它仍然会向下舍入.

这只是我制作的一个快速方法,它正确地舍入并不是非常重要,我只是为了使我的游戏围绕相机的x和y值.

这个方法好吗?它快吗?或者有更好的解决方案吗?

math objective-c cgfloat ios

18
推荐指数
3
解决办法
3万
查看次数

标签 统计

double ×2

ios ×2

swift ×2

cgfloat ×1

int ×1

math ×1

nstimeinterval ×1

objective-c ×1

rounding ×1