NSStringを数字桁区切りにする

2010/11/16

超基本なんだろうな?ってメモ。 数値データ(文字列型)の桁区切り表示。

NSNumberやintからNSStringで桁区切りする例は検索に出てくるけど、 NSStringをそのまま桁区切りする方法が見つからない・・・。 こういうのは、スクリプト言語なら楽なんですけどねぇ。

型変換やキャストで数行必要かな?と思ったけど、NSNumberFormatterでnumberFromString→numberFromStringとしてやると楽かも(!?)

- (NSString *)formatNumber:(NSString *)value {
    NSNumberFormatter *formatter=[[[NSNumberFormatter alloc] init] autorelease];
    [formatter setPositiveFormat:@"#,##0"];
    NSNumber *number = [formatter numberFromString:value];
    return [formatter stringFromNumber:number];
}

そもそも外部データを取り込んだ時点で、数値データをint型等に変換すべきではあるのかも知れないけど。 numberFromStringに数字じゃない文字列いれたらどうなるんだろうか?というエラー検証はしてません(^^;)