【问题标题】:Convert int to CGFloat将 int 转换为 CGFloat
【发布时间】:2010-11-06 12:53:59
【问题描述】:

关于如何在 Objective-C 中将 int 转换为 CGFloat 有任何想法吗?

【问题讨论】:

    标签: iphone objective-c integer


    【解决方案1】:

    过去使用 () 语法转换 CGFloat 值对我来说效果很好。 CGFloat 只是定义为“typedef float CGFloat;”因此,您可以像使用浮点数一样进行投射:

    CGFloat f = (CGFloat)intVal;
    

    或者,如果你的值是一个常数:

    CGFloat f = 1.10;
    

    【讨论】:

    • 遗憾的是,这不再适用于 64 位,其中 CGFloat 是“双”:stackoverflow.com/questions/1264924/…
    • 如果你去掉 f 后缀,那么它应该可以工作,在 32 位平台上会有一个从 double 到 float 的隐式向下转换,而在 64 位平台上根本没有转换。
    【解决方案2】:

    我正在寻找如何在 swift 中做同样的事情 我在第一个结果(排名靠前)中找到了问题,所以如果找到了答案,我会发布答案,以防有人像我一样幸运:)

    let myCGFloat = CGFloat(myFloat)
    

    【讨论】:

    • 表达式需要 37 毫秒进行类型检查(限制:33 毫秒)
    • Swift 编译器需要 30+msec 来编译这个
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    相关资源
    最近更新 更多