【Swift】【XCode】数値をカンマ区切りの文字列に変換する

目次

数値をカンマ区切りでString型で表示する

数値をカンマ区切りでString型に変換するには2通り方法があります。

  • String.localizedStringWithFormat
  • NumberFormatter

String.localizedStringWithFormat

  • 渡された文字列テンプレートをもとに数値を文字列に変換します。
  • 通常の数値をカンマ区切り文字列に変換して表示したい場合は%dでいいと思います。
    1
    2
    3
    4
    5
    6
    import UIKit

    let million:Int = 1000000

    let result = String.localizedStringWithFormat("%d", million)
    print(result) // 1,000,000
  • 文字列を連結して作成することもできます。
    1
    2
    let result = String.localizedStringWithFormat("%d円", million)
    print(result) // 1,000,000円

NumberFormatter

  • 数値とそのテキスト表現を変換するクラスです。
    • %や貨幣単位などの変換もできる
  • 生成したい設定をしたクラスをインスタンス化しておけば、使い回すことができる
    1
    2
    3
    4
    5
    6
    7
    let 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】数値をカンマ区切りの文字列に変換する/

Author

Daiki Iijima

Posted on

2021-08-23

Updated on

2024-04-17

Licensed under