【Objective-C】数字を三桁ごとにカンマで区切る方法

今回は、Objective-C1234 などの数値を 1,234 のように、三桁ごとにカンマで区切る方法についてです。
必須の機能ではありませんが、カンマで区切られていないと大変数字が読みづらいので追加しました。

今回参考にさせていただいた記事はこちらから。

[Swift]数字を三桁ごとにカンマ区切りにする – Qiita
https://qiita.com/ktanaka117/items/57c43c897fb7040e0980

Swift のコードなので、こちらを Objective-C に書き換えていきます。

 

サンプルコードはこちら。

NSString *strPrice = [カンマ区切りにしたい数字の文字列];

NSInteger intVal = [strPrice intValue];
NSNumber *number = [NSNumber numberWithInt:(int)intVal];
NSNumberFormatter *format = [[NSNumberFormatter alloc] init];
format.numberStyle = NSNumberFormatterDecimalStyle;

NSLog(@"%@", [format stringFromNumber:number]);

仕様上、カンマ区切りにしたい数字を文字列にしていたので、最初に NSStringNSNumber に変換する作業を行う必要があります。
コードでは、3、4行目です。
なお、最初から数値で持っている場合は、この処理は不要です。

あとは、NSNumberFormatternumberStyle でスタイルを変更して、数字を三桁ごとにカンマ区切りにしています。
ちなみに、Swift だと、6行目を format.numberStyle = NSNumberFormatterStyle.DecimalStyle と書きますが、Objective-C だと、上記のように
format.numberStyle = NSNumberFormatterDecimalStyle; と書くのでお間違えのないようにご注意ください。

処理としては以上です。
サンプルではコードの最後で、結果を NSLog で表示していますが、アプリの仕様に合わせて UILabel で表示するなどしてください。

 

以上、Objective-C で、数字を三桁ごとにカンマで区切る方法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG