LoginSignup
5

More than 5 years have passed since last update.

NSNumberFormatterを使って数字にカンマ(,)の設定・削除

Last updated at Posted at 2016-05-13

事前準備

NSNumberFormatterを使って数字をカンマ区切りに変換します


// 書式スタイルを指定
g_nsNumberFormatter.numberStyle = NSNumberFormatterStyle.DecimalStyle
g_nsNumberFormatter.groupingSeparator = "," // 区切り文字
g_nsNumberFormatter.groupingSize = 3        // 区切り位置

カンマを設定する

func addComma(value :Int) -> String{

    return g_nsNumberFormatter.stringFromNumber(Double(value))!

}

カンマを削除する

func removeComma(value :String) -> Int {

    let tmp = value.stringByReplacingOccurrencesOfString(
        ",",
        withString: ""
    )

    return Int(tmp)!

}

サンプル

ViewController.swift
import UIKit

class ViewController: UIViewController {

    // NSNumberFormatterクラスをインスタンス化する
    let g_nsNumberFormatter = NSNumberFormatter()

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        var number = 10000
        var number2 :String

        // 書式スタイルを指定
        g_nsNumberFormatter.numberStyle = NSNumberFormatterStyle.DecimalStyle
        g_nsNumberFormatter.groupingSeparator = "," // 区切り文字
        g_nsNumberFormatter.groupingSize = 3        // 区切り位置

        print("初期値:" + String(number))
        // カンマを設定
        number2 = addComma(number)

        print("設定後:" + number2)
        // カンマを削除
        number = removeComma(number2)

        print("削除後:" + String(number))
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func addComma(value :Int) -> String{

        return g_nsNumberFormatter.stringFromNumber(Double(value))!

    }

    func removeComma(value :String) -> Int {

        let tmp = value.stringByReplacingOccurrencesOfString(
            ",",
            withString: ""
        )

        return Int(tmp)!

    }

}

リンク

Mac Developer Library(NSNumberFormatter) 英語版

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5