DIGITAL COFFEE-デジタルコーヒー

コーヒー飲みたい系SE(システムエンジニア)による、どうでもいいことを呟くどうでもいいブログ

【swift4】Intを桁区切りの文字列に変換する

MacWindowsのキー配列の違いに苦しんでします。

どーも、PlugOutです。

 

久しぶりにテック系のコアな記事となっておりまして、このブログが一体なんであるかを再認識させてくれる謎の企画となっております(白目)

過去のテック系の記事については、興味があれば下のリンクから見ていただければと。

plugout.hatenablog.com

 

f:id:PlugOut:20180530095549j:plain

さて気を取り直して……今回はswift4系で数値を桁区切りに変換するためのExtensionを作成したので公開します。

金額を扱う系のアプリだと、意外とサクッと使えて良いかもしれません。

import Foundation

extension Int {
    func toStringWithSeparator(separator: String = ",") -> String {
        let num: NSNumber = NSNumber(value: self)
        let formatter: NumberFormatter = NumberFormatter()
        formatter.numberStyle = NumberFormatter.Style.decimal
        formatter.groupingSeparator = separator
        formatter.groupingSize = 3
        return formatter.string(from: num)!
    }
}

使い方は簡単で、単純にtoStringWithSeparatorを呼び出すだけ。

一応引数を渡せばセパレータをカンマではなく別の文字列に変えることもできますが、自分で実装しておいてそういう使い方するのかなとやや疑問視(白目)

以下にサンプルのプログラム例と出力結果を記載します。

 

サンプルプログラム:

print("0: ", 0.toStringWithSeparator())
print("100: ", 100.toStringWithSeparator())
print("1000000: ", 1000000.toStringWithSeparator())
print("-1000000: ", (0 - 1000000).toStringWithSeparator())

出力結果:

0:  0
100:  100
1000000:  1,000,000
-1000000:  -1,000,000

今回の所はそんな感じ。

良かったら使って見てくださいね!

ではでは!

 

※ エンジニア系のネタは下のブログに移行中です。

plugout.hateblo.jp

 

連絡先: plugout777★yahoo.co.jp (クローラー対策のため★を@に変更してください)