如何将百分号添加到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]);
感谢所有原始贡献者。 希望这可以帮助。 干杯!