我想在数字后加一个百分号。大概是75%。
我该怎么做?我试过了:
[NSString stringWithFormat:@"%d\%", someDigit];
但这对我没有用。
我想在数字后加一个百分号。大概是75%。
我该怎么做?我试过了:
[NSString stringWithFormat:@"%d\%", someDigit];
但这对我没有用。
Answers:
百分号NSString
格式的代码为%%
。对于NSLog()
和printf()
格式也是如此。
NSLog
将其第一个参数视为格式字符串,但是您已经使用格式化了字符串stringWithFormat:
。只是说NSLog(@"%@%%", self.Ptextfield.text)
。
百分号的转义代码为“ %%”,因此您的代码应如下所示
[NSString stringWithFormat:@"%d%%", someDigit];
另外,所有其他格式说明符都可以在以下位置找到 Conceptual Strings Articles中
如果在某些情况下有帮助,则可以使用unicode字符:
NSLog(@"Test percentage \uFF05");
\uFF05
当它是NSString
in的一部分时对我有用UILocalNotification
,而不是%%
。谢谢!
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]);
感谢所有原始贡献者。希望这可以帮助。干杯!