Je veux avoir un signe de pourcentage dans ma chaîne après un chiffre. Quelque chose comme ça: 75%.
Comment puis-je avoir cela fait? J'ai essayé:
[NSString stringWithFormat:@"%d\%", someDigit];
Mais cela n'a pas fonctionné pour moi.
Le code du pourcentage de connexion au format NSString
est %%
. Ceci est également vrai pour les formats NSLog()
et printf()
.
Le code d'échappement du signe de pourcentage est "%%", votre code devrait alors ressembler à ceci
[NSString stringWithFormat:@"%d%%", someDigit];
En outre, tous les autres spécificateurs de format peuvent être trouvés à Articles conceptuels de chaînes
Si cela peut aider dans certains cas, il est possible d'utiliser le caractère unicode:
NSLog(@"Test percentage \uFF05");
La réponse acceptée ne fonctionne pas pour UILocalNotification. Pour une raison quelconque, %%%%
(4 signes de pourcentage) ou le caractère unicode '\uFF05
' ne fonctionne que pour cela.
Donc pour récapituler, vous pouvez utiliser %%
lors du formatage de votre chaîne. Toutefois, si votre chaîne fait partie d'une UILocalNotification, utilisez %%%%
ou \uFF05
.
semble si %%
suivi d'un %@
, le NSString
ira à des codes étranges essayer ceci et cela a fonctionné pour moi
NSString *str = [NSString stringWithFormat:@"%@%@%@", @"%%",
[textfield text], @"%%"];
code suivant.
NSString *searchText = @"Bhupi"
NSString *formatedSearchText = [NSString stringWithFormat:@"%%%@%%",searchText];
affichera: % Bhupi%
iOS 9.2.1, Xcode 7.2.1, ARC activé
Vous pouvez toujours ajouter le '%' lui-même sans autres spécificateurs de format dans la chaîne que vous ajoutez, comme si ...
int test = 10;
NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [stringTest stringByAppendingString:@"%"];
NSLog(@"%@", stringTest);
Pour iOS7.0 +
Pour étendre la réponse à d’autres personnages qui pourraient vous causer des conflits, vous pouvez choisir d’utiliser:
- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
Ecrit étape par étape, il se présente comme suit:
int test = 10;
NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [[stringTest stringByAppendingString:@"%"]
stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]];
stringTest = [stringTest stringByRemovingPercentEncoding];
NSLog(@"percent value of test: %@", stringTest);
Ou main courte:
NSLog(@"percent value of test: %@", [[[[NSString stringWithFormat:@"%d", test]
stringByAppendingString:@"%"] stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]] stringByRemovingPercentEncoding]);
Merci à tous les contributeurs originaux. J'espère que cela t'aides. À votre santé!