Процент с NSString - PullRequest
       1

Процент с NSString

0 голосов
/ 20 марта 2011

У меня есть вход NSString, и я хочу получить вывод с % в конце

Я пытался сделать следующее, но это не удалось

NSLog([NSString stringWithFormat:@"%@%%", self.tName.text ] ); 

где tName UITextfield

проблема в консоли, если я набрал A, вывод будет A не A%

Любое предложение, чтобы решить это?

Ответы [ 3 ]

3 голосов
/ 20 марта 2011

Вы не используете NSLog() правильно. NSLog() предназначен для вызова со строкой постоянного формата (например, %@%%) и передачи в аргументах. Вы предварительно анализируете эти аргументы, а затем передаете строку, которую хотите вывести, в NSLog(), что не работает.

Когда вы пишете [NSString stringWithFormat:@"%@%%", @"Hello!"], возвращаемая строка будет @"Hello!%", что вы хотите напечатать. Однако, когда вы передаете его в NSLog(), он думает, что это строка формата, которую необходимо проанализировать, видит знак процента и не знает, что делать (он ожидает получить что-то после знака процента), поэтому он игнорирует это. По сути, то, что вы делаете, это:

NSLog(@"Hello!%");

Попробуйте, и вы увидите, что это не сработает. Использование правильного вызова NSLog() решит вашу проблему:

NSLog(@"%@%%", self.tName.text);

Читайте о NSLog() и его переменном аналоге, NSLogv() здесь .

0 голосов
/ 20 марта 2011

Я только что проверил ваш случай следующим образом:

NSString *s = @"100";
NSLog(@"%@%%",s);

Выход был: 100%

попробуй, это что-то изменит?

 NSLog(@"%@%%",self.tName.text);
0 голосов
/ 20 марта 2011

Я не уверен, в чем ваша проблема, но простое использование %% выведет знак процента в соответствии с разделом Спецификаторы формата строки Руководство по программированию строки .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...