Je veux avoir un signe de pourcentage dans ma chaîne après un chiffre. Quelque chose comme ça: 75%.
Comment puis-je faire cela? J'ai essayé:
[NSString stringWithFormat:@"%d\%", someDigit];
Mais ça n'a pas marché pour moi.
objective-c
nsstring
string-literals
Ilya Suzdalnitski
la source
la source
NSLog
traite son premier argument comme une chaîne de format, mais vous avez déjà formaté la chaîne à l'aide destringWithFormat:
. Dis justeNSLog(@"%@%%", self.Ptextfield.text)
.Le code d'échappement pour un signe de pourcentage est "%%", donc votre code ressemblerait à ceci
En outre, tous les autres spécificateurs de format peuvent être trouvés dans les articles Conceptual Strings
la source
Si cela aide dans certains cas, il est possible d'utiliser le caractère unicode:
la source
\uFF05
fonctionne pour moi quand il fait partie duNSString
inUILocalNotification
, non%%
. Merci!La réponse acceptée ne fonctionne pas pour UILocalNotification. Pour une raison quelconque,
%%%%
(signes de 4%) ou le caractère unicode '\uFF05
' ne fonctionne que pour cela.Donc, pour récapituler, lors du formatage de votre chaîne, vous pouvez utiliser
%%
. Cependant, si votre chaîne fait partie d'une UILocalNotification, utilisez%%%%
ou\uFF05
.la source
semble être
%%
suivi d'un%@
,NSString
cela ira à des codes étranges essayez ceci et cela a fonctionné pour moila source
Utilisez le code suivant.
affichera: % Bhupi%
la source
iOS 9.2.1, Xcode 7.2.1, ARC activé
Vous pouvez toujours ajouter le «%» seul sans aucun autre spécificateur de format dans la chaîne que vous ajoutez, comme ceci ...
Pour iOS7.0 +
Pour étendre la réponse à d'autres caractères susceptibles de provoquer un conflit, vous pouvez choisir d'utiliser:
- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
Écrit étape par étape, il ressemble à ceci:
Ou main courte:
Merci à tous les contributeurs originaux. J'espère que cela t'aides. À votre santé!
la source