Как добавить знак процента в NSString


Я хочу иметь знак процента в моей строке после цифры. Примерно так: 75%.

Как я могу это сделать? Я попробовал:

[NSString stringWithFormat:@"%d%", someDigit];

но это не сработало для меня.

7 439

7 ответов:

код для процентного входа и %%. Это также верно для NSLog() и printf() форматы.

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]);

спасибо всем авторов. Надеюсь, это поможет. Ура!