Я следую « Руководству по форматированию данных » с сайта Apple Developer:
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setFormat:@"0.00%;0.00%;-0.00%"];
NSNumber *four = [NSNumber numberWithFloat:4.0];
NSLog(@"%@", [numberFormatter stringFromNumber:four]);
Но выдает исключение:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNumberFormatter setFormat:]: unrecognized selector sent to instance 0x59359b0'
Последний раз документ обновлялся в 2009 году, поэтому я бы не стал винить в этом. Мои вопросы: как вы справляетесь с этой ошибкой?
Отредактированный вопрос
Как вы определяете формат на NSNumber? Как вы анализируете строку в число, число в строку? Как вы указываете шаблоны, которые Apple указала нам в документе . Я говорю о программировании iPhone. Спасибо всем!
Отредактировано снова
Давайте обобщим мой вопрос: если вы посмотрите на шаблоны , скажем, у меня есть строка "1 234,57 €" (последняя в ссылке), и я хочу разобрать это строка в число, мне нужно указать формат как: "# ## 0,00 ¤", но теперь для приложений iPhone, как предложили два человека, нет setFormat: метод.
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setFormat:@"# ##0.00 ¤"];
NSNumber *dollars = [numberFormatter numberFromString:@"1 234,57 €"];
Как вы справляетесь с этим?