AFAIK使用[NSString stringWithFormat:@“%d”]是不可能的,因为没有明确显示+显示的说明符,至少我没有在Apple Developer String Format Specifiers找到它 所以看起来我必须在我的情况下使用NSNumberFormatter。我找到了如何设置加号表示但无法弄清楚如何实现我的目标。我试过了
NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[numberFormatter setPositiveFormat:@"+0"];
NSString strNumber = [numberFormatter stringFromNumber:[NSNumber numberWithInt:intSomeNumber]];
但是我担心它会将GT 9的数字减少到1位数而且我不希望这样。我只想用+显示任何正int,用 - 显示任何负数。这是正确的方式:
NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[numberFormatter setPositiveFormat:@"+#"];
NSString strNumber = [numberFormatter stringFromNumber:[NSNumber numberWithInt:intSomeNumber]];
答案 0 :(得分:18)
从您关联的页面开始:
有关详细信息,请参阅IEEE printf specification。
现在来自IEEE printf规范:
+ 签名转换的结果应始终以符号('+'或' - ')开头。转换应仅在a时以符号开头 如果未指定此标志,则转换负值。
示例:
NSLog(@"%+f", 3.455677);
结果:
+3.455677
答案 1 :(得分:8)
[numberFormatter setPositivePrefix:@"+"];
答案 2 :(得分:7)
使用[NSString stringWithFormat:@"%+d", intSomeNumber]
答案 3 :(得分:2)
只需使用:
NSString *strNumber = [NSString stringWithFormat:@"%+d",intSomeNumber];