2012-11-29 6 views
9

AFAIK + NSString stringWithFormat:@ "%d"を使用すると不可能です。それを見つけることはありませんApple Developer String Format Specifiers
私の場合はNSNumberFormatterを使用する必要があるようです。私はプラス記号表現を設定する方法を見つけましたが、私の目標を達成する方法を理解することはできません。私は試しましたiOSで正の数値の+記号を表示してint形式にNSStringをフォーマットする方法

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

答えて

18

:詳細については

IEEE printf specificationを参照してください、これは多分正しい方法であります。 IEEEのprintf仕様からすぐ

+ 常に記号で開始しなければならない署名された変換の結果( '+' または ' - ')。このフラグが指定されていない場合は、負の値が変換されたときにのみ、変換が開始されます( )。

例:

NSLog(@"%+f", 3.455677); 

結果:数が負のときって楽しいことだ

+3.455677 
2

ちょうど使用します:あなたがリンクされ、非常ページから

NSString *strNumber = [NSString stringWithFormat:@"%+d",intSomeNumber]; 
+1

。 @HermannKlecker; –

+0

;それはタイプミスでした:)通知のためにありがとう –

+0

編集ありがとう –

7

使用[NSString stringWithFormat:@"%+d", intSomeNumber]

8
[numberFormatter setPositivePrefix:@"+"]; 
関連する問題