我想在数字后面加一个百分号。大概是这样:75%。
我该怎么做呢?我试着:
[NSString stringWithFormat:@"%d\%", someDigit];
但这对我不起作用。
我想在数字后面加一个百分号。大概是这样:75%。
我该怎么做呢?我试着:
[NSString stringWithFormat:@"%d\%", someDigit];
但这对我不起作用。
当前回答
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]);
感谢所有的原创贡献者。希望这能有所帮助。干杯!
其他回答
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]);
感谢所有的原创贡献者。希望这能有所帮助。干杯!
如果在某些情况下有帮助,可以使用unicode字符:
NSLog(@"Test percentage \uFF05");
百分号的转义代码是“%%”,所以代码看起来像这样
[NSString stringWithFormat:@"%d%%", someDigit];
此外,所有其他格式说明符都可以在Conceptual Strings Articles中找到
请使用以下代码。
NSString *searchText = @"Bhupi"
NSString *formatedSearchText = [NSString stringWithFormat:@"%%%@%%",searchText];
将输出:%Bhupi%
NSString格式中百分号的代码是%%。NSLog()和printf()格式也是如此。