Quero ter um sinal de porcentagem na minha string após um dígito. Algo assim: 75%.
Como posso fazer isso? Eu tentei:
[NSString stringWithFormat:@"%d\%", someDigit];
Mas não funcionou para mim.
objective-c
nsstring
string-literals
Ilya Suzdalnitski
fonte
fonte
NSLog
trata seu primeiro argumento como uma sequência de formato, mas você já formatou a sequência usandostringWithFormat:
. Apenas digaNSLog(@"%@%%", self.Ptextfield.text)
.O código de escape para um sinal de porcentagem é "%%", portanto, seu código ficaria assim
Além disso, todos os outros especificadores de formato podem ser encontrados em Artigos sobre cadeias conceituais
fonte
Se isso ajudar em alguns casos, é possível usar o caractere unicode:
fonte
\uFF05
funciona para mim quando faz parte doNSString
inUILocalNotification
, não%%
. Obrigado!A resposta aceita não funciona para UILocalNotification. Por alguma razão,
%%%%
(sinais de 4%) ou o caractere unicode '\uFF05
' só funcionam para isso.Então, para recapitular, ao formatar sua string, você pode usar
%%
. No entanto, se sua string fizer parte de uma UILocalNotification, use%%%%
ou\uFF05
.fonte
parece que se
%%
seguido com um%@
, oNSString
vai para alguns códigos estranhos tente isso e isso funcionou para mimfonte
código a seguir.
produzirá: % Bhupi%
fonte
iOS 9.2.1, Xcode 7.2.1, ARC ativado
Você sempre pode anexar o '%' sozinho, sem outros especificadores de formato na string que está anexando, assim ...
Para iOS7.0 +
Para expandir a resposta para outros caracteres que podem causar conflitos, você pode optar por usar:
- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
Escrito passo a passo, fica assim:
Ou mão curta:
Obrigado a todos os colaboradores originais. Espero que isto ajude. Felicidades!
fonte