【Swift】【XCode】数値をカンマ区切りの文字列に変換する
目次
数値をカンマ区切りでString型で表示する
数値をカンマ区切りでString型に変換するには2通り方法があります。
String.localizedStringWithFormat
NumberFormatter
String.localizedStringWithFormat
- 渡された文字列テンプレートをもとに数値を文字列に変換します。
- 通常の数値をカンマ区切り文字列に変換して表示したい場合は
%d
でいいと思います。1
2
3
4
5
6import UIKit
let million:Int = 1000000
let result = String.localizedStringWithFormat("%d", million)
print(result) // 1,000,000 - 文字列を連結して作成することもできます。
1
2let result = String.localizedStringWithFormat("%d円", million)
print(result) // 1,000,000円
NumberFormatter
- 数値とそのテキスト表現を変換するクラスです。
- %や貨幣単位などの変換もできる
- 生成したい設定をしたクラスをインスタンス化しておけば、使い回すことができる
1
2
3
4
5
6
7let numberFomatter = NumberFormatter()
numberFomatter.numberStyle = .decimal // 数値の表現形式を指定
numberFomatter.groupingSeparator = "," // 区切り文字を指定
numberFomatter.groupingSize = 3 // 何桁ごとに区切り文字を入れるか指定
let result = numberFomatter.string(from: NSNumber(integerLiteral: million)) ?? "\(million)"
print(result) // 1,000,000
まとめ
NumberFormatterは色々な表現ができる分、記述するコード量が増えるので、基本的にString.localizedStringWithFormat
を使うことをおすすめします。
【Swift】【XCode】数値をカンマ区切りの文字列に変換する
https://blog.djima.net/2021/08/23/【Swift】【XCode】数値をカンマ区切りの文字列に変換する/