1

我试图创建一个 NSArray 的浮点数。但是,一旦将值添加到数组中,它始终为 0.0000000。

我究竟做错了什么?

NSLog(@"percent: %f" , percent); 打印正确的值和

NSLog(@"timeArray: %f", [timeArray objectAtIndex:i]); 始终为 0.00000。

 NSMutableArray *timeArray = [[NSMutableArray alloc] initWithCapacity:count];

 for (int i = 0; i < count; i++) {
  int time = Counter->getTime(i);

  float percent = (float)(time - startTime) / (float)endTime;
        NSLog(@"percent: %f" , percent); // This prints correct value

  [timeArray addObject:[NSNumber numberWithFloat: percent]];
  NSLog(@"timeArray: %f", [timeArray objectAtIndex:i]);  // This prints 0.00000
 }

我在iphone上,内存不足,可能是导致它的原因吗?

4

2 回答 2

4

尝试

NSLog(@"timeArray: %f", [[timeArray objectAtIndex:i] floatValue]);

在末尾。

您正在尝试打印指向 NSNumber 的指针,而不是存储在其中的值。

于 2010-10-26T15:48:02.843 回答
4

在第二个 NSLog 中,您正在打印一个 NSNumber,而不是里面的浮点数..查看该值..

NSLog(@"timeArray: %f", [[timeArray objectAtIndex:i] floatValue]);
于 2010-10-26T15:49:25.170 回答