464

文字列の数字の後にパーセント記号を付けたいです。このようなもの:75%。

どうすればこれを行うことができますか?私は試した:

[NSString stringWithFormat:@"%d\%", someDigit];

しかし、それは私にはうまくいきませんでした。

4

7 に答える 7

17

場合によってはそれが役立つ場合は、Unicode 文字を使用することができます。

NSLog(@"Test percentage \uFF05");
于 2013-02-12T15:06:07.073 に答える
8

受け入れられた回答は、UILocalNotification では機能しません。何らかの理由で、%%%%(4 パーセント記号) または Unicode 文字 ' \uFF05' はこれに対してのみ機能します。

要約すると、文字列をフォーマットするときに%%. ただし、文字列が UILocalNotification の一部である場合は、%%%%またはを使用します\uFF05

于 2015-01-15T19:52:09.230 に答える
6

%%が続く場合、%@これNSStringはいくつかの奇妙なコードに行きますこれを試してみると、これは私にとってはうまくいきました

NSString *str = [NSString stringWithFormat:@"%@%@%@", @"%%", 
                 [textfield text], @"%%"]; 
于 2013-06-13T03:14:03.297 に答える
0

iOS 9.2.1、Xcode 7.2.1、ARC 対応

次のように、追加する文字列に他の書式指定子を使用せずに、いつでも「%」を単独で追加できます...

int test = 10;

NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [stringTest stringByAppendingString:@"%"];
NSLog(@"%@", stringTest);

iOS7.0以降の場合

競合を引き起こす可能性のある他の文字への回答を拡張するには、次を使用することを選択できます。

- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters

順を追って書くと次のようになります。

int test = 10;

NSString *stringTest = [NSString stringWithFormat:@"%d", test];
stringTest = [[stringTest stringByAppendingString:@"%"] 
             stringByAddingPercentEncodingWithAllowedCharacters:
             [NSCharacterSet alphanumericCharacterSet]];
stringTest = [stringTest stringByRemovingPercentEncoding];

NSLog(@"percent value of test: %@", stringTest);

または省略形:

NSLog(@"percent value of test: %@", [[[[NSString stringWithFormat:@"%d", test] 
stringByAppendingString:@"%"] stringByAddingPercentEncodingWithAllowedCharacters:
[NSCharacterSet alphanumericCharacterSet]] stringByRemovingPercentEncoding]);

すべての元の貢献者に感謝します。お役に立てれば。乾杯!

于 2016-02-09T17:30:05.007 に答える