カテゴリ: Swift 更新日: 2026/01/08

Swiftで数値と文字列を相互変換!NumberFormatterで桁区切りや通貨表示をわかりやすく解説

Swift 数値⇄文字列 変換|NumberFormatterで桁区切り・通貨表示
Swift 数値⇄文字列 変換|NumberFormatterで桁区切り・通貨表示

先生と生徒の会話形式で理解しよう

生徒

「Swiftで数字を文字列にしたり、文字列を数字に戻したりすることってできますか?」

先生

「はい、できますよ。数値と文字列の変換はとてもよく使う操作です。例えば『1000』という数値を『1,000』のように桁区切りで表示したり、通貨記号を付けて『¥1,000』と表示するのも可能です。」

生徒

「なるほど!それなら買い物アプリや家計簿アプリを作るときに役立ちそうですね。」

先生

「その通りです。では実際に、数値と文字列の変換方法を見ていきましょう!」

1. Swiftで数値を文字列に変換する基本

1. Swiftで数値を文字列に変換する基本
1. Swiftで数値を文字列に変換する基本

まずは一番シンプルな「数値から文字列」への変換です。SwiftではString()を使うことで簡単にできます。


let number = 1234
let text = String(number)
print(text)

このコードを実行すると、「1234」という文字列が出力されます。


1234

この方法はシンプルですが、桁区切りや通貨表記はされません。そのため、見やすく整形するにはNumberFormatterを使います。

2. Swiftで文字列を数値に変換する

2. Swiftで文字列を数値に変換する
2. Swiftで文字列を数値に変換する

逆に「文字列から数値」へ変換することもよくあります。ユーザーが入力した数字を計算に使う場合などに必要です。SwiftではInt()Double()を使います。


let text = "5678"
if let number = Int(text) {
    print(number + 10)
}

このコードでは、文字列「5678」を整数に変換し、さらに「+10」をして「5688」が表示されます。


5688

もし文字列が数字でない場合はnil(値がないことを示す特別なもの)になるので、if letで安全に扱うのがポイントです。

3. NumberFormatterで桁区切り表示

3. NumberFormatterで桁区切り表示
3. NumberFormatterで桁区切り表示

大きな数字を見やすくするには「桁区切り」が便利です。人間が読むときに「1000000」よりも「1,000,000」のほうがわかりやすいですよね。SwiftではNumberFormatterを使って自動的に桁区切りを入れられます。


import Foundation

let number = 1234567
let formatter = NumberFormatter()
formatter.numberStyle = .decimal

if let formatted = formatter.string(from: NSNumber(value: number)) {
    print(formatted)
}

このコードを実行すると「1,234,567」と表示されます。numberStyle = .decimalと指定するだけで、自動で桁区切りが入ります。


1,234,567

4. NumberFormatterで通貨表示

4. NumberFormatterで通貨表示
4. NumberFormatterで通貨表示

次に「通貨表示」です。家計簿アプリやショッピングアプリで「¥」「$」などをつけたいときに便利です。


let price = 2500
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.currencyCode = "JPY"

if let formatted = formatter.string(from: NSNumber(value: price)) {
    print(formatted)
}

このコードを実行すると「¥2,500」と表示されます。currencyCodeを「USD」にすればドル「$」、EURにすればユーロ「€」として表示されます。


¥2,500

5. 実生活の例えで理解しよう

5. 実生活の例えで理解しよう
5. 実生活の例えで理解しよう

桁区切りや通貨表示は、実生活の「値札」や「レシート」と同じです。例えばスーパーで「1000円」とだけ書かれているより「¥1,000」と書かれていた方が見やすく、誤解が少なくなります。プログラミングでも同じで、ユーザーに数字を見やすく提示することはとても大切です。

6. まとめて実践コード

6. まとめて実践コード
6. まとめて実践コード

最後に、今回紹介した数値と文字列の変換、桁区切り、通貨表示をまとめて使ったサンプルを紹介します。


import Foundation

let text = "3000"

// 文字列を数値に変換
if let number = Int(text) {
    print("数値に変換: \(number)")

    // 数値を文字列に変換
    let stringValue = String(number)
    print("文字列に変換: \(stringValue)")

    // 桁区切り表示
    let formatter = NumberFormatter()
    formatter.numberStyle = .decimal
    if let formatted = formatter.string(from: NSNumber(value: number)) {
        print("桁区切り: \(formatted)")
    }

    // 通貨表示(日本円)
    formatter.numberStyle = .currency
    formatter.currencyCode = "JPY"
    if let currency = formatter.string(from: NSNumber(value: number)) {
        print("通貨表示: \(currency)")
    }
}

実行すると次のように表示されます。


数値に変換: 3000
文字列に変換: 3000
桁区切り: 3,000
通貨表示: ¥3,000

Swiftを基礎から実践レベルまで学びたい人や、 iOSアプリ開発を本格的に始めたい人には、 定番の入門+実践書がこちらです。

Swift実践入門をAmazonで見る

※ Amazon広告リンク

まとめ

まとめ
まとめ

Swiftで数値と文字列を扱う重要性の振り返り

ここまで、Swiftにおける数値と文字列の相互変換について、基礎から実践的な使い方まで段階的に学んできました。 アプリ開発では、内部処理としては数値型で計算を行い、画面に表示する際には文字列として見やすく整形する場面が非常に多くあります。 例えば、ユーザーが入力した金額、商品の価格、合計金額、ポイント数、スコア表示など、ほぼすべてのアプリで数値と文字列の変換は欠かせません。

単純に String()Int() を使うだけでも変換は可能ですが、それだけでは実用的とは言えません。 桁区切りがない数字は読みにくく、通貨記号がない金額は誤解を生む可能性があります。 そこで登場するのが NumberFormatter です。 NumberFormatterを使うことで、桁区切り、通貨表示、小数点の扱いなどを柔軟に制御でき、ユーザーにとって直感的で理解しやすい表示を実現できます。

NumberFormatterを使うメリット

NumberFormatterは、SwiftやiOSアプリ開発において非常に強力なクラスです。 桁区切りの有無、通貨の種類、ロケールによる表示形式の違いなどを自動で処理してくれるため、開発者が細かい文字列操作を行う必要がありません。 特に家計簿アプリ、ショッピングアプリ、売上管理アプリ、予約システムなどでは、金額表示の正確さと見やすさがユーザー体験に直結します。

また、文字列から数値へ変換する際に if let を使って安全に処理する考え方も重要なポイントでした。 ユーザー入力は必ずしも正しい数値とは限らないため、nilを考慮した安全な実装がアプリの品質を高めます。 こうした基本を理解しておくことで、エラーの少ない堅牢なSwiftコードを書くことができるようになります。

まとめて確認するサンプルプログラム

ここで改めて、数値と文字列の変換、桁区切り、通貨表示を一連の流れとして確認できるサンプルを掲載します。 記事内で使用してきたクラスや書き方と同じ構成になっているため、復習としても役立ちます。


import Foundation

let inputText = "12000"

// 文字列を数値に変換
if let value = Int(inputText) {

    // 数値をそのまま文字列に変換
    let simpleString = String(value)
    print("そのまま表示: \(simpleString)")

    // 桁区切り表示
    let formatter = NumberFormatter()
    formatter.numberStyle = .decimal
    if let decimalString = formatter.string(from: NSNumber(value: value)) {
        print("桁区切り表示: \(decimalString)")
    }

    // 通貨表示
    formatter.numberStyle = .currency
    formatter.currencyCode = "JPY"
    if let currencyString = formatter.string(from: NSNumber(value: value)) {
        print("通貨表示: \(currencyString)")
    }
}

このように、一つの数値データを用途に応じて表示形式を変えることで、アプリの使いやすさは大きく向上します。 Swiftの基本構文とあわせて、NumberFormatterの使い方をしっかり身につけておくことが重要です。

先生と生徒の振り返り会話

生徒

「最初は数字を文字列に変換するだけなら簡単だと思っていましたが、実際には表示の仕方がとても大事なんですね。 桁区切りや通貨記号があるだけで、すごく見やすくなると実感しました。」

先生

「その気づきはとても大切ですよ。 プログラミングでは計算結果が正しいだけでなく、ユーザーにどう見せるかも重要です。 NumberFormatterを使えば、その部分を簡単に、しかも安全に実装できます。」

生徒

「文字列から数値に戻すときに、if letで安全に処理する理由もよく分かりました。 ユーザー入力をそのまま信用しないという考え方は、他の場面でも使えそうですね。」

先生

「その通りです。 Swiftの基本文法と一緒に、こうした考え方を身につけていけば、 実用的なiOSアプリやSwiftUIアプリを自信を持って作れるようになりますよ。」

生徒

「これからは金額表示や数値表示を見るたびに、裏側でNumberFormatterが動いているのを意識してみます。 もっとSwiftの基礎を学びたくなりました!」

関連セミナーのご案内

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

「iPhoneアプリを作りたいけれど、Macを持っていないから諦めている」そんな方のための画期的な入門講座です。実は、プログラミングの本質を学ぶのに高価な機材は必要ありません。本講座では、Windowsパソコンを使用し、クラウド環境を活用してAppleの最新言語Swift(スウィフト)の基礎を最短距離でマスターします。

Windowsで実現する開発環境

【つくるもの】
ブラウザ上で動作する「スマート・計算ツール」や「データ判定プログラム」をゼロから作成します。変数の扱いや条件分岐など、iPhoneアプリの内部で動くロジックを自分の手で構築する感動を体験してください。

【開発環境】
ブラウザだけでSwiftが動くプロ仕様のオンラインエディタ(Replit等)を使用します。面倒な設定は一切不要。今あるWindows PCで、プロのエンジニアと同じコードを書き始められます。

この60分で得られる3つの理解

1. WindowsでのSwift実行環境の作り方

OSの壁を越え、クラウドを活用してスマートに学習を開始する「現代的な開発スタイル」を習得します。

2. Swiftの基本構造(変数・型・定数)

iPhoneアプリ特有のデータの扱い方や、Appleが推奨する「安全で美しいコード」の書き方を学びます。

3. アプリエンジニアとしてのロードマップ

将来的にiOSエンジニアとして副業・転職するために必要な準備や、Mac選びのポイントを伝授します。

※本講座は、将来的にiPhoneアプリ開発で収益化や転職を目指したい未経験者のためのエントリー講座です。マンツーマン形式により、Windows環境ならではの疑問にもその場でお答えし、あなたの理解度に合わせて進行します。

セミナー画像

Windowsで始めるiPhoneアプリ開発入門

カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のスコープとは?ローカル変数・グローバル変数の違いと使い分け
New2
Go言語
Go言語の構文ルールまとめ!インデント・セミコロンなど最初に知っておくポイント
New3
Kotlin
KotlinのwithTimeoutでタイムアウト処理を設定しよう!初心者にもわかる非同期の安全な止め方
New4
Go言語
Go言語のマップの順序保証がない理由と扱い方の工夫をやさしく解説!初心者でもわかる基本知識
人気記事
No.1
Java&Spring記事人気No1
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.2
Java&Spring記事人気No2
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.3
Java&Spring記事人気No3
Go言語
Go言語でREST APIを作る設計と実装パターン完全ガイド!初心者でもわかるAPI開発
No.4
Java&Spring記事人気No4
Kotlin
Kotlinのsettings.gradleファイルを完全解説!初心者でもわかるプロジェクト設定の基本
No.5
Java&Spring記事人気No5
Go言語
Swiftの配列(Array)の使い方を完全ガイド!初心者でもわかるデータのまとめ方
No.6
Java&Spring記事人気No6
Go言語
Go言語のトランザクション処理を完全解説!Begin・Commit・Rollbackを初心者向けにやさしく理解
No.7
Java&Spring記事人気No7
Go言語
Swiftの変数と定数の使い方を完全ガイド!初心者でもわかる基本文法
No.8
Java&Spring記事人気No8
Go言語
Go言語のgo installコマンドの役割とインストール先の仕組みを徹底解説!