将 int 转换为 CGFloat
Posted
技术标签:
【中文标题】将 int 转换为 CGFloat【英文标题】:Convert int to CGFloat 【发布时间】:2010-11-06 12:53:59 【问题描述】:关于如何在 Objective-C 中将 int
转换为 CGFloat
有任何想法吗?
【问题讨论】:
【参考方案1】:过去使用 () 语法转换 CGFloat 值对我来说效果很好。 CGFloat 只是定义为“typedef float CGFloat;”因此,您可以像使用浮点数一样进行投射:
CGFloat f = (CGFloat)intVal;
或者,如果你的值是一个常数:
CGFloat f = 1.10;
【讨论】:
遗憾的是,这不再适用于 64 位,其中 CGFloat 是“双”:***.com/questions/1264924/… 如果你去掉f
后缀,那么它应该可以工作,在 32 位平台上会有一个从 double 到 float 的隐式向下转换,而在 64 位平台上根本没有转换。
【参考方案2】:
我正在寻找如何在 swift 中做同样的事情 我在第一个结果(排名靠前)中找到了问题,所以如果找到了答案,我会发布答案,以防有人像我一样幸运:)
let myCGFloat = CGFloat(myFloat)
【讨论】:
表达式需要 37 毫秒进行类型检查(限制:33 毫秒) Swift 编译器需要 30+msec 来编译这个以上是关于将 int 转换为 CGFloat的主要内容,如果未能解决你的问题,请参考以下文章