どーも、PlugOutです。
久しぶりにテック系のコアな記事となっておりまして、このブログが一体なんであるかを再認識させてくれる謎の企画となっております(白目)
過去のテック系の記事については、興味があれば下のリンクから見ていただければと。

さて気を取り直して……今回は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
今回の所はそんな感じ。
良かったら使って見てくださいね!
ではでは!
※ エンジニア系のネタは下のブログに移行中です。