NSArray浮动问题

时间:2010-10-26 15:45:05

标签: iphone memory floating-point nsarray nsnumber

我正在尝试创建一个浮动的NSArray。但是,一旦将值添加到数组中,它总是0.0000000。

我做错了什么?

NSLog(@“百分比:%f”,百分比);打印正确的值和

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上并且内存耗尽,这可能导致它吗?

2 个答案:

答案 0 :(得分:4)

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

最后。

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

答案 1 :(得分:4)

在第二个NSLog中,您正在打印一个NSNumber,而不是内部的浮动...以查看该值..

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