【问题标题】:Swift equivalent of ceilf for CGFloatCGFloat 的 ceilf 的 Swift 等价物
【发布时间】:2016-03-21 01:32:26
【问题描述】:

我试图做这样的事情

var myCGFloat: CGFloat = 3.001
ceilf(myCGFloat)

ceilf 只接受 Float 值。在四处搜索时,有很多关于进行这种转换的不同答案,或者取决于它是 32 位还是 64 位架构。

事实证明解决方案相当简单,但我花了很长时间才找到它。所以我写这个问答对作为其他人的捷径。

【问题讨论】:

标签: swift cgfloat ceil


【解决方案1】:

现在执行此操作的 Swift 方法是使用 rounded(.up)(或 round(.up),如果您想就地更改变量)。 Behind the scenes it is using ceil,可以以CGFloat为参数,为architecture independent

let myCGFloat: CGFloat = 3.001
let y = myCGFloat.rounded(.up) // 4.0

这相当于

var myCGFloat: CGFloat = 3.001
let y = ceil(myCGFloat) // 4.0

不再需要使用ceilf

另请参阅my fuller 上的CGFloat 答案以及各种舍入规则。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 2014-11-23
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多