NSArry of float эмиссии - PullRequest
       26

NSArry of float эмиссии

1 голос
/ 26 октября 2010

Я пытаюсь создать 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 ]

4 голосов
/ 26 октября 2010

во втором NSLog вы печатаете NSNumber, а не число с плавающей точкой внутри .. чтобы увидеть это значение ..

NSLog(@"timeArray: %f", [[timeArray objectAtIndex:i] floatValue]);
4 голосов
/ 26 октября 2010

try

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

в конце.

Вы пытаетесь распечатать указатель на NSNumber, а не значение, сохраненное в нем.

...