Проблема определения переменной xcode - PullRequest
0 голосов
/ 21 сентября 2010

Может кто-нибудь объяснить мне, почему моя переменная, называемая активность, равна 0, если она определена как число с плавающей запятой, но отображает правильное значение, если она определена как целое число?У меня есть другой поплавок, который используется почти для того же, но отлично работает!

@implementation AppPrefsViewController
float age;
int activity;

...

-(void) updateAValues{
 if (selectedActivityUnit == 0){
  activity = 50; 
  NSLog(@"activity = %d",activity);
 }

 if (selectedActivityUnit == 1){
  activity = 75;    
  NSLog(@"activity = %d",activity);
 } 
}


....

- (void)updateLabel {
 if (selectedUnit == 0) {
  subView.hidden = YES;
  age = 1;
  NSLog(@"age = %d",age);
 }

 if (selectedUnit == 1) {
  subView.hidden = YES;
  age = 2;
  NSLog(@"age = %d",age);
 }

 if (selectedUnit == 2) {
  subView.hidden = NO;
  age = 3;
  NSLog(@"age = %d",age);
 }
}

1 Ответ

3 голосов
/ 21 сентября 2010

Вы используете

NSLog(@"activity = %d", activity);

Для отображения ваших значений.Это работает, если активность имеет тип int, как% d для отображения целых чисел.Если вы хотите отобразить числа с плавающей точкой, вам нужен формататор% f, например:

NSLog(@"activity = %f", activity);
...