首页 文章

如何将百分号添加到NSString

提问于
浏览
439

我想在一个数字之后在我的字符串中有一个百分号 . 这样的事:75% .

我怎么能这样做?我试过了:

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

但它对我不起作用 .

7 回答

  • 6

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

  • 4

    百分号的转义码是“%%”,因此您的代码将如下所示

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

    此外,所有其他格式说明符可以在Conceptual Strings Articles找到

  • 133

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

    NSLog(@"Test percentage \uFF05");
    
  • 18

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

    所以回顾一下,格式化字符串时可以使用 %% . 但是,如果您的字符串是UILocalNotification的一部分,请使用 %%%%\uFF05 .

  • 7

    似乎 %% 跟着 %@NSString 会去一些奇怪的代码尝试这个,这对我有用

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

    uese代码 .

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

    将输出: %Bhupi%

  • 911

    iOS 9.2.1,Xcode 7.2.1,ARC启用

    您可以随时附加'%',而不会在要附加的字符串中添加任何其他格式说明符,如此...

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

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

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

相关问题