如何将百分号添加到NSString

我想在一个数字之后在我的string中有一个百分比符号。 像这样:75%。

我怎么能做到这一点? 我试过了:

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

但是这对我没有用。

NSString格式的百分号代码是%%NSLog()printf()格式也是如此。

百分号的转义码是“%%”,所以你的代码看起来像这样

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

此外,所有其他格式说明符可以在概念string文章中find

如果在某些情况下有帮助,可以使用unicode字符:

 NSLog(@"Test percentage \uFF05"); 

接受的答案不适用于UILocalNotification。 出于某种原因, %%%% (4%符号)或unicode字符“ \uFF05 ”仅适用于此。

因此,回顾一下,格式化string时,可以使用%% 。 但是,如果您的string是UILocalNotification的一部分,请使用%%%%\uFF05

似乎如果%%后跟一个%@NSString会去一些奇怪的代码试试这个,这对我工作

 NSString *str = [NSString stringWithFormat:@"%@%@%@", @"%%", [textfield text], @"%%"]; 

uese以下代码。

  NSString *searchText = @"Bhupi" NSString *formatedSearchText = [NSString stringWithFormat:@"%%%@%%",searchText]; 

会输出: %Bhupi%

iOS 9.2.1,Xcode 7.2.1,ARC启用

你总是可以在没有任何其他格式说明符的情况下自行附加'%'作为你正在追加的string,就像这样…

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

对于iOS7.0 +

要扩大对可能导致冲突的其他angular色的答案,您可以select使用:

- (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]); 

感谢所有原始贡献者。 希望这可以帮助。 干杯!