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