Как добавить знак процента в NSString
Я хочу, чтобы в моей строке был знак процента после цифры. Как то так: 75%.
Как я могу это сделать? Я старался:
[NSString stringWithFormat:@"%d\%", someDigit];
Но это не сработало для меня.
7 ответов
Код для процентов войти NSString
формат %%
, Это также верно для NSLog()
а также printf()
форматы.
Код перехода для знака процента - "%%", поэтому ваш код будет выглядеть так
[NSString stringWithFormat:@"%d%%", someDigit];
Кроме того, все другие спецификаторы формата можно найти в статьях Conceptual Strings.
Если это помогает в некоторых случаях, можно использовать символ Unicode:
NSLog(@"Test percentage \uFF05");
Принятый ответ не работает для UILocalNotification. По какой-то причине %%%%
(4 процента знаков) или символ юникода "\uFF05
"Только работа для этого.
Напомним, что при форматировании вашей строки вы можете использовать %%
, Однако, если ваша строка является частью UILocalNotification, используйте %%%%
или же \uFF05
,
Кажется, если %%
с последующим %@
, NSString
пойду на некоторые странные коды попробуйте это, и это сработало для меня
NSString *str = [NSString stringWithFormat:@"%@%@%@", @"%%",
[textfield text], @"%%"];
UES следующий код.
NSString *searchText = @"Bhupi"
NSString *formatedSearchText = [NSString stringWithFormat:@"%%%@%%",searchText];
будет выводить: % Bhupi%
iOS 9.2.1, Xcode 7.2.1, ARC включен
Вы всегда можете добавить "%" отдельно без каких-либо других спецификаторов формата в строке, которую вы добавляете, например так...
int test = 10;
NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [stringTest stringByAppendingString:@"%"];
NSLog(@"%@", stringTest);
Для iOS7.0+
Чтобы расширить ответ на другие символы, которые могут вызвать конфликт, вы можете использовать:
- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
Написано шаг за шагом это выглядит так:
int test = 10;
NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [[stringTest stringByAppendingString:@"%"]
stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]];
stringTest = [stringTest stringByRemovingPercentEncoding];
NSLog(@"percent value of test: %@", stringTest);
Или короткая рука:
NSLog(@"percent value of test: %@", [[[[NSString stringWithFormat:@"%d", test]
stringByAppendingString:@"%"] stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]] stringByRemovingPercentEncoding]);
Спасибо всем оригинальным авторам. Надеюсь это поможет. Ура!