Вопрос

Я хочу, чтобы в моей строке после цифры был знак процента.Что- то вроде этого: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]);

Спасибо всем оригинальным участникам.Надеюсь, это поможет.Ваше здоровье!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top