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.

War es hilfreich?

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!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top