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