8

我尝试使用以下代码为双精度赋值:

double distanceFormat = [self.runsArray[indexPath.row] valueForKey:@"runDistance"];

但我不断收到以下错误:

Initialising 'double' with an expression of incompatible type 'id'

但是,我知道价值是双倍的!有没有办法做到这一点?

4

2 回答 2

14

你可以试试:

double distanceFormat = [[self.runsArray[indexPath.row] valueForKey:@"runDistance"] doubleValue];

如果你确定它是双倍的,我认为它会起作用。

于 2012-09-25T21:09:20.890 回答
7

使用 NSNumber

NSNumber *mynumber = [somedictionary valueForKey:@"runDistance"];

一旦你有了 nsnumber,你就可以把它转换成你想要的任何东西, f.ex :

int i = [mynumber intValue];
于 2012-09-25T21:12:05.907 回答