Wie Prozentzeichen zu NSString hinzufügen
-
09-09-2019 - |
Frage
Ich möchte in meinen String nach einer Ziffer ein Prozentzeichen haben. Etwas wie folgt aus:. 75%
Wie kann ich das getan? Ich habe versucht:
[NSString stringWithFormat:@"%d\%", someDigit];
Aber es hat für mich nicht.
Lösung
Der Code für das Prozentzeichen in NSString
Format ist %%
. Dies gilt auch für NSLog()
und printf()
Formate.
Andere Tipps
Der Escape-Code für ein Prozentzeichen ist "%%", so dass Ihr Code würde wie folgt aussehen
[NSString stringWithFormat:@"%d%%", someDigit];
Auch alle anderen Formatbezeichner finden Sie unter finden Conceptual Strings Artikel
Wenn das in einigen Fällen hilft, ist es möglich, die Unicode-Zeichen zu verwenden:
NSLog(@"Test percentage \uFF05");
Die akzeptierte Antwort für UILocalNotification funktioniert nicht. Aus irgendeinem Grund %%%%
(4 Prozentzeichen) oder die Unicode-Zeichen ‚\uFF05
‘ nur für diese Arbeit.
So zu rekapitulieren, wenn die Zeichenfolge Formatierung können Sie %%
verwenden. Wenn jedoch die Zeichenfolge Teil eines UILocalNotification, verwendet %%%%
oder \uFF05
ist.
scheint, wenn %%
mit einem %@
gefolgt, die NSString
zu einigen seltsamen Codes gehen
versuchen Sie dies und dies ist für mich
NSString *str = [NSString stringWithFormat:@"%@%@%@", @"%%",
[textfield text], @"%%"];
uese Code folgen.
NSString *searchText = @"Bhupi"
NSString *formatedSearchText = [NSString stringWithFormat:@"%%%@%%",searchText];
AUSGABE: % Bhupi%
iOS 9.2.1, Xcode 7.2.1, ARC aktiviert
Sie können jederzeit die ‚%‘ von selbst anhängen ohne weitere Formatangaben in der Zeichenfolge, die Sie anhängen, wie so ...
int test = 10;
NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [stringTest stringByAppendingString:@"%"];
NSLog(@"%@", stringTest);
Für iOS7.0 +
die Antwort auf andere Zeichen zu erweitern, die Sie in Konflikt geraten könnten dazu führen, die Sie verwenden können wählen:
- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
Ausgeschrieben Schritt für Schritt sieht es wie folgt aus:
int test = 10;
NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [[stringTest stringByAppendingString:@"%"]
stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]];
stringTest = [stringTest stringByRemovingPercentEncoding];
NSLog(@"percent value of test: %@", stringTest);
oder kurzerhand:
NSLog(@"percent value of test: %@", [[[[NSString stringWithFormat:@"%d", test]
stringByAppendingString:@"%"] stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]] stringByRemovingPercentEncoding]);
Danke an alle ursprünglich Mitwirkenden. Hoffe das hilft. Cheers!