1

float の 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を使用していてメモリが不足していますが、それが原因でしょうか?

4

2 に答える 2

4

試す

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

最後に。

格納されている値ではなく、NSNumber へのポインターを出力しようとしています。

于 2010-10-26T15:48:02.843 に答える
4

2番目のNSLogでは、内部のフロートではなく、NSNumberを出力しています..その値を確認するには..

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