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.

Était-ce utile?

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!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top