iphone - 我可以安全地使用 CGFloat 来保存 Float64 或 Float32 值吗?

标签 iphone c objective-c

我有一个 CGFloat 属性,有时我得到一个 Float64 类型或 Float32 类型的返回值。我可以将两者安全地存储到 CGFloat 吗?

最佳答案

来自标题:

// CGBase.h
typedef float CGFloat;

// MacTypes.h
typedef float               Float32;
typedef double              Float64;

所以 CGFloatFloat32 都是 floatFloat64double 所以你会失去精度。

(编辑澄清:这是针对 32 位系统,例如 iPhone。如果您正在构建 64 位系统,CGFloat 被定义为 double。)

关于iphone - 我可以安全地使用 CGFloat 来保存 Float64 或 Float32 值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2753488/

相关文章:

iphone - 普遍适用

iphone - 应用程序像 iphone 4 一样在 iphone 5 上运行

iphone - 什么是卓悦?

iphone - 如何将包含撇号的语句插入到 Sqlite 数据库中

c - AVR 引脚变化中断不可预测地触发

objective-c - NSSortDescriptor 以数字作为字符串排序?

iphone - 苹果会从itunes中删除应用程序更新的核心数据吗?

c - 如何在没有内存屏障的情况下实现 InterlockedIncrement

c - 可变大小数组

objective-c - mac osx 中的亚马逊 s3?