Swift 相当于 CGFloat 的 ceilf
Swift equivalent of ceilf for CGFloat
我正在尝试做这样的事情
var myCGFloat: CGFloat = 3.001
ceilf(myCGFloat)
但 ceilf
仅采用 Float
值。在四处搜索时,有很多关于进行这种转换或那种转换的不同答案,具体取决于它是 32 位还是 64 位架构。
事实证明解决方案相当简单,但我花了太长时间才找到它。所以我写这个问答对作为其他人的捷径。
现在 Swift 的方法是使用 rounded(.up)
(如果您想就地更改变量,则使用 round(.up)
)。 Behind the scenes it is using ceil
, which can take a CGFloat
as a parameter and is 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
的回答,其中包含各种舍入规则。
我正在尝试做这样的事情
var myCGFloat: CGFloat = 3.001
ceilf(myCGFloat)
但 ceilf
仅采用 Float
值。在四处搜索时,有很多关于进行这种转换或那种转换的不同答案,具体取决于它是 32 位还是 64 位架构。
事实证明解决方案相当简单,但我花了太长时间才找到它。所以我写这个问答对作为其他人的捷径。
现在 Swift 的方法是使用 rounded(.up)
(如果您想就地更改变量,则使用 round(.up)
)。 Behind the scenes it is using ceil
, which can take a CGFloat
as a parameter and is 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
的回答,其中包含各种舍入规则。