0

我已经使用强制转换将字符串转换为 int,将字符串转换为 double 并且它可以工作。

现在我想将浮点值转换为双精度,xcode 告诉我:

"指针不能转换为类型 'double'",

我的浮点变量在 .h 中声明

@property float *valueX, *valueY

在 .m 中,我这样做:

double dou = (double) valorX;

这里发生了什么?谢谢!

4

2 回答 2

2

不太确定你在这里问什么,但我想问题是浮动属性中的 * 。

浮动属性应声明为...

@property float valueX;

不是

@property float *valueX;

(除非它是指向浮点数的指针,但我怀疑这里的情况)

笔记

你可能应该做这样的事情......

@property (nonatomic, assign) CGFloat valueX;
于 2014-07-08T23:22:59.710 回答
1

您将 valueX 声明为 a float *,表示指向浮点数的指针。

您需要首先取消引用指针以获取它包含的浮点值,然后将结果转换为双精度

double dou = (double)(*valueX);

您也可以将其视为一个两步过程

float tempFloat = *valueX;
double dou = (double) tempFloat;

如果您的意思不是将 valueX 声明为float *,请将声明更改为float

于 2014-07-08T23:22:20.907 回答