Получение 'nan' при вставке метода в stringWithFormat - PullRequest
0 голосов
/ 29 декабря 2010

Я упростил некоторые методы для облегчения понимания и исправления ошибки.Я получаю «нан» вместо числа и не понимаю почему.Я хочу поместить метод getNumber в оператор возврата.Когда у меня есть метод внутри, он возвращает строку nan, но когда я просто помещаю 26 внутри, он возвращает 26, что я хочу.

-(double) getNumber { return 26; }


-(NSString *) convertToString {
        return [NSMutableString stringWithFormat: @"%Lf",[self getNumber]];
// returns 'nan'           when I replace [self getNumber] with 15 I get 15
}

Ответы [ 3 ]

2 голосов
/ 29 декабря 2010

У вас есть пара проблем в вашем коде.

  1. Возвращает двойное, а не целое число в getNumber.Когда произойдет автоматическое приведение, напишите чистый код.
  2. Используйте спецификатор формата %g, а не %Lf.%g для пар.
0 голосов
/ 29 декабря 2010

Это ваш спецификатор формата.Вы должны использовать "% g" для форматирования двойного.

0 голосов
/ 29 декабря 2010

Возможно, вы захотите использовать «% f» вместо «% Lf», поскольку вы передаете double, а не long double

...