Comment ajouter pour cent signe NSString
-
09-09-2019 - |
Question
Je veux avoir un signe de pourcentage dans ma chaîne après un chiffre. Quelque chose comme ceci:. 75%
Comment puis-je avoir ce fait? J'ai essayé:
[NSString stringWithFormat:@"%d\%", someDigit];
Mais il ne fonctionne pas pour moi.
La solution
Le code de signe pour cent en format NSString
est %%
. Ceci est également vrai pour les formats de NSLog()
et printf()
.
Autres conseils
Le code d'échappement pour un signe pour cent est « %% », de sorte que votre code ressemblerait à ceci
[NSString stringWithFormat:@"%d%%", someDigit];
En outre, tous les autres spécificateurs de format se trouvent à conceptuel Cordes articles
Si cela aide 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 pour cent) ou le caractère unicode « de \uFF05
» ne fonctionne que pour cela.
Pour résumer, lors du formatage de votre chaîne, vous pouvez utiliser %%
. Cependant, si votre chaîne fait partie d'un UILocalNotification, utilisez %%%%
ou \uFF05
.
semble se %%
suivi avec un %@
, le NSString
ira à certains codes étranges
essayez ceci et cela a fonctionné pour moi
NSString *str = [NSString stringWithFormat:@"%@%@%@", @"%%",
[textfield text], @"%%"];
uese code suivant.
NSString *searchText = @"Bhupi"
NSString *formatedSearchText = [NSString stringWithFormat:@"%%%@%%",searchText];
est sortie: % Bhupi%
iOS 9.2.1, Xcode 7.2.1, ARC activé
Vous pouvez toujours ajouter le « % » par lui-même sans aucun autre format dans spécificateurs la chaîne que vous apposent, 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 caractères qui pourraient vous causer CONFLIT vous pouvez choisir d'utiliser:
- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
Ecrit étape par étape, il ressemble à ceci:
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 courte main:
NSLog(@"percent value of test: %@", [[[[NSString stringWithFormat:@"%d", test]
stringByAppendingString:@"%"] stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]] stringByRemovingPercentEncoding]);
Merci à tous les contributeurs d'origine. J'espère que cela t'aides. Vive!