Ich möchte nach einer Ziffer ein Prozentzeichen in meiner Zeichenfolge haben. So etwas in der Art: 75%.
Wie kann ich das machen lassen? Ich habe es versucht:
[NSString stringWithFormat:@"%d\%", someDigit];
Aber es hat bei mir nicht funktioniert.
Ich möchte nach einer Ziffer ein Prozentzeichen in meiner Zeichenfolge haben. So etwas in der Art: 75%.
Wie kann ich das machen lassen? Ich habe es versucht:
[NSString stringWithFormat:@"%d\%", someDigit];
Aber es hat bei mir nicht funktioniert.
Antworten:
Der Code für das prozentuale NSStringAnmeldeformat lautet %%. Dies gilt auch für NSLog()und printf()Formate.
NSLogbehandelt das erste Argument als Formatzeichenfolge, aber Sie haben die Zeichenfolge bereits mit formatiert stringWithFormat:. Sag einfach NSLog(@"%@%%", self.Ptextfield.text).
Der Escape-Code für ein Prozentzeichen lautet "%%", sodass Ihr Code folgendermaßen aussehen würde
[NSString stringWithFormat:@"%d%%", someDigit];
Alle anderen Formatspezifizierer finden Sie auch unter Artikel zu konzeptionellen Zeichenfolgen
Wenn dies in einigen Fällen hilfreich ist, können Sie das Unicode-Zeichen verwenden:
NSLog(@"Test percentage \uFF05");
\uFF05funktioniert für mich, wenn es Teil des NSStringIn ist UILocalNotification, nicht %%. Vielen Dank!
Die akzeptierte Antwort funktioniert nicht für UILocalNotification. Aus irgendeinem Grund funktionieren %%%%(4-Prozent-Zeichen) oder das Unicode-Zeichen \uFF05nur dafür.
Um es noch einmal zusammenzufassen: Wenn Sie Ihre Zeichenfolge formatieren, können Sie sie verwenden %%. Wenn Ihre Zeichenfolge jedoch Teil einer UILocalNotification ist, verwenden Sie %%%%oder \uFF05.
scheint, wenn %%mit einem gefolgt %@, wird der NSStringWille zu einigen seltsamen Codes gehen, versuche dies und das hat bei mir funktioniert
NSString *str = [NSString stringWithFormat:@"%@%@%@", @"%%",
[textfield text], @"%%"];
iOS 9.2.1, Xcode 7.2.1, ARC aktiviert
Sie können das '%' jederzeit selbst anhängen, ohne andere Formatbezeichner in der Zeichenfolge, die Sie anhängen, wie z.
int test = 10;
NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [stringTest stringByAppendingString:@"%"];
NSLog(@"%@", stringTest);
Für iOS7.0 +
Um die Antwort auf andere Zeichen zu erweitern, die zu Konflikten führen können, können Sie Folgendes verwenden:
- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
Schritt für Schritt ausgeschrieben sieht es so 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 kurze Hand:
NSLog(@"percent value of test: %@", [[[[NSString stringWithFormat:@"%d", test]
stringByAppendingString:@"%"] stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]] stringByRemovingPercentEncoding]);
Vielen Dank an alle ursprünglichen Mitwirkenden. Hoffe das hilft. Prost!