私はそれを行う簡単な方法を見つけることができないようです。私が必要とする正確なものは次のとおりです。
[NSString stringWithFormat:@"%d doodads", n];
n は int です。したがって、1234 の場合、次の文字列が必要です (私のロケールの下で):
@"1,234 doodads"
ありがとう。
私はそれを行う簡単な方法を見つけることができないようです。私が必要とする正確なものは次のとおりです。
[NSString stringWithFormat:@"%d doodads", n];
n は int です。したがって、1234 の場合、次の文字列が必要です (私のロケールの下で):
@"1,234 doodads"
ありがとう。
10.6の場合、これは機能します:
NSNumberFormatter* numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior: NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle: NSNumberFormatterDecimalStyle];
NSString *numberString = [numberFormatter stringFromNumber: [NSNumber numberWithInteger: i]];
そして、ローカリゼーションを適切に処理します。
以下はロケールに対応していませんが、(私の意見では) 数値フォーマッタで千単位の区切り記号を設定するより良い方法です。
NSNumberFormatter *numberFormat = [[[NSNumberFormatter alloc] init] autorelease];
numberFormat.usesGroupingSeparator = YES;
numberFormat.groupingSeparator = @",";
numberFormat.groupingSize = 3;
Todd Ransom はこれに完璧に答えました。
定期的にこれを行う予定がある場合は、NSString ヘルパー クラスを作成する価値があることを (別のコメントで、適切にフォーマットされたコードを示すことができるように) 追加したいと思います。
したがって、これを含む NSStringHelper.h を自分で作成します。
#import <Foundation/Foundation.h>
@interface NSString (NSStringHelper)
+(NSString*)formatWithThousandSeparator:(NSInteger)number;
@end
..そして、これを含む NSStringHelper.m ファイル:
#import "NSStringHelper.h"
@implementation NSString (NSStringHelper)
+(NSString*)formatWithThousandSeparator:(NSInteger)number
{
// Format a number with thousand seperators, eg: "12,345"
NSNumberFormatter* numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior: NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle: NSNumberFormatterDecimalStyle];
NSString *result = [numberFormatter stringFromNumber:[NSNumber numberWithInteger:number]];
return result;
}
@end
これにより、将来のプロジェクトでこのコードを再利用するための完璧な方法が得られます。
#import "NSStringHelper.h"
NSInteger numOfUsers = 12345;
NSString* strNumberOfUsers = [NSString formatWithThousandSeparator:numOfUsers];
クール、ねえ?
繰り返しますが、Todd の回答 (まさに私が探していたものでした!) を再投稿して申し訳ありませんが、これは問題を解決し、将来の XCode プロジェクトで使用できるようにするための優れた方法です。
を使用しNSNumberFormatter
ます。