我已经使用强制转换将字符串转换为 int,将字符串转换为 double 并且它可以工作。
现在我想将浮点值转换为双精度,xcode 告诉我:
"指针不能转换为类型 'double'",
我的浮点变量在 .h 中声明
@property float *valueX, *valueY
在 .m 中,我这样做:
double dou = (double) valorX;
这里发生了什么?谢谢!
我已经使用强制转换将字符串转换为 int,将字符串转换为 double 并且它可以工作。
现在我想将浮点值转换为双精度,xcode 告诉我:
"指针不能转换为类型 'double'",
我的浮点变量在 .h 中声明
@property float *valueX, *valueY
在 .m 中,我这样做:
double dou = (double) valorX;
这里发生了什么?谢谢!
不太确定你在这里问什么,但我想问题是浮动属性中的 * 。
浮动属性应声明为...
@property float valueX;
不是
@property float *valueX;
(除非它是指向浮点数的指针,但我怀疑这里的情况)
笔记
你可能应该做这样的事情......
@property (nonatomic, assign) CGFloat valueX;
您将 valueX 声明为 a float *
,表示指向浮点数的指针。
您需要首先取消引用指针以获取它包含的浮点值,然后将结果转换为双精度
double dou = (double)(*valueX);
您也可以将其视为一个两步过程
float tempFloat = *valueX;
double dou = (double) tempFloat;
如果您的意思不是将 valueX 声明为float *
,请将声明更改为float
。