Как добавить знак процента в NSString
Я хочу иметь знак процента в моей строке после цифры. Примерно так: 75%.
Как я могу это сделать? Я попробовал:
[NSString stringWithFormat:@"%d%", someDigit];
но это не сработало для меня.
7 ответов:
escape-код для знака процента -"%%", поэтому ваш код будет выглядеть так
[NSString stringWithFormat:@"%d%%", someDigit];
кроме того, все другие спецификаторы формата можно найти на Концептуальные Строки Статьи
Если это помогает в некоторых случаях, можно использовать символ в юникоде:
NSLog(@"Test percentage \uFF05");
принятый ответ не работает для UILocalNotification. По какой причине
%%%%
(4% знаков) или символ Юникода'\uFF05
' только работать для этого.Итак, напомним, при форматировании строки вы можете использовать
%%
. Однако, если ваша строка является частью UILocalNotification, используйте%%%%
или\uFF05
.
кажется, если
%%
С%@
наNSString
перейдем к каким-то странным кодам попробуйте это, и это сработало для меняNSString *str = [NSString stringWithFormat:@"%@%@%@", @"%%", [textfield text], @"%%"];
uese следующий код.
NSString *searchText = @"Bhupi" NSString *formatedSearchText = [NSString stringWithFormat:@"%%%@%%",searchText];
вывод: %Bhupi%
iOS 9.2.1, Xcode 7.2.1, ARC enabled
вы всегда можете добавить " % " сам по себе без каких-либо других спецификаторов формата в строке, которую вы добавляете, например...
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]);
спасибо всем авторов. Надеюсь, это поможет. Ура!