カテゴリ: Swift 更新日: 2025/12/19

Swiftで0埋め・ゼロパディングを徹底解説!printf互換のformat活用法

Swift 0埋め・ゼロパディングのやり方|format/printf互換
Swift 0埋め・ゼロパディングのやり方|format/printf互換

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

生徒

「Swiftで数字を2桁にそろえて表示したいときに、0をつけて『01』みたいにする方法はありますか?」

先生

「はい、これは『ゼロパディング』とか『0埋め』と呼ばれる方法です。SwiftではC言語のprintfに似た書き方で簡単にできますよ。」

生徒

「printfって聞いたことありますけど、Swiftでも使えるんですか?」

先生

「完全に同じではないですが、String(format:)を使えば同じようなことができます。実際に試してみましょう!」

1. 0埋め(ゼロパディング)とは?

1. 0埋め(ゼロパディング)とは?
1. 0埋め(ゼロパディング)とは?

0埋めとは、数字を表示するときに桁数をそろえるために、先頭にゼロを追加することです。例えば、カレンダーの日付で「1月2日」を「01月02日」と表示すると見やすいですよね。こうした「桁をそろえる」工夫をゼロパディングと呼びます。

Swiftでは、C言語でおなじみのprintfの書式指定子を使ったように、String(format:)を利用して簡単にゼロ埋めを行えます。

2. Swiftでゼロパディングを行う基本

2. Swiftでゼロパディングを行う基本
2. Swiftでゼロパディングを行う基本

Swiftで数字をゼロ埋めする基本的な方法は、String(format:)を使うやり方です。以下の例では2桁にそろえる指定をしています。


let number = 5
let padded = String(format: "%02d", number)
print(padded)

実行すると次のように出力されます。


05

%02dの意味は「2桁の整数にして、足りない部分は0で埋める」という指定です。これはC言語やJavaでも使われる形式なので、プログラミングの共通ルールとして覚えておくと便利です。

3. 桁数を自由に指定する方法

3. 桁数を自由に指定する方法
3. 桁数を自由に指定する方法

ゼロ埋めは2桁だけでなく、3桁や4桁など、好きな桁数に指定できます。たとえば次のように書けます。


let number = 42
let padded3 = String(format: "%03d", number)
let padded4 = String(format: "%04d", number)
print(padded3)
print(padded4)

042
0042

数字をきれいに整列させたいときや、ファイル名を連番で保存したいときにとても役立ちます。

4. 小数のゼロパディング

4. 小数のゼロパディング
4. 小数のゼロパディング

整数だけでなく、小数にもゼロ埋めを使えます。たとえば「3.1」を「03.10」と表示したいときは次のようにします。


let pi = 3.1
let formatted = String(format: "%05.2f", pi)
print(formatted)

03.10

%05.2fは「全体を5桁にして、小数点以下2桁まで表示」という意味です。これで数値の表示をきれいにそろえられます。

5. 実際のアプリでの利用例

5. 実際のアプリでの利用例
5. 実際のアプリでの利用例

ゼロパディングはアプリ開発でよく使われます。具体的には次のような場面です。

  • カレンダーや時計の表示(例: 09:05:07)
  • 連番ファイル名の生成(例: photo-001.jpg, photo-002.jpg)
  • ランキング表示やスコアの統一フォーマット

ユーザーにとって見やすいデザインにするためにも、ゼロ埋めは重要な工夫です。

6. printf互換の便利さ

6. printf互換の便利さ
6. printf互換の便利さ

String(format:)はC言語のprintfとほぼ同じ書き方ができるので、他の言語を学んだ経験がある人にも馴染みやすいです。また、Swiftだけでなく多くのプログラミング言語で同じルールが使えるため、学んでおくとスキルの応用範囲が広がります。

まとめ

まとめ
まとめ

Swiftにおけるゼロパディングの重要性を振り返る

ここまで、Swiftで数値をきれいに表示するための「0埋め」や「ゼロパディング」について詳しく見てきました。ゼロパディングは単に見た目を整えるための小さな工夫に思えるかもしれませんが、実際のアプリ開発や業務システムでは非常に重要な役割を果たします。日付や時刻の表示、連番ファイル名の生成、数値の一覧表示など、桁がそろっているだけで画面全体の印象が大きく変わります。

Swiftでは String(format:) を使うことで、C言語の printf と互換性のある書式指定が可能になり、直感的にゼロ埋め処理を記述できます。%02d%03d といった指定は、他のプログラミング言語でも共通して使われる考え方なので、Swiftだけでなくプログラミング全体の基礎知識として身につけておく価値があります。

printf互換フォーマットを使いこなすメリット

printf互換のフォーマット指定を理解すると、整数だけでなく小数の表示も自在に制御できるようになります。小数点以下の桁数を固定したり、全体の文字数を指定してゼロで埋めたりすることで、数値の並びが美しくそろいます。これは、スコア表示や金額表示、統計データの出力など、多くの場面で役立ちます。

特に初心者のうちは「なぜ表示がずれてしまうのか」「どうして他の行と揃わないのか」と悩むことが多いですが、ゼロパディングの考え方を知っていれば、その原因と解決方法がすぐに見えてきます。Swiftの String(format:) はシンプルでありながら表現力が高く、実務でも頻繁に使われる書き方です。

まとめとしてのサンプルプログラム

ここで、今回学んだ内容をまとめたシンプルなサンプルを確認してみましょう。整数と小数のゼロパディングを同時に扱うことで、実践的な使い方がイメージしやすくなります。


let day = 3
let hour = 9
let score = 7.5

let dayText = String(format: "%02d", day)
let hourText = String(format: "%02d", hour)
let scoreText = String(format: "%05.2f", score)

print(dayText)
print(hourText)
print(scoreText)

このように書くことで、日付や時刻、数値スコアなどを常に一定の形式で表示できます。ユーザーが画面を見たときに違和感を覚えにくくなり、アプリ全体の品質向上にもつながります。

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

生徒

「最初はただの表示の工夫だと思っていましたが、ゼロパディングって意外と大事なんですね。」

先生

「そうですね。数字の表示はユーザーが毎日のように目にする部分なので、少しの違いが使いやすさに大きく影響します。」

生徒

String(format:) が printf と似ているのも分かりました。他の言語を勉強するときにも役立ちそうです。」

先生

「その通りです。Swiftで学んだ知識は、他のプログラミング言語にも応用できます。ゼロ埋めや書式指定は、プログラミングの共通言語のようなものですね。」

生徒

「これからは日付や数字を表示するときに、桁を意識して書いてみます。」

先生

「ぜひ意識してください。小さな工夫を積み重ねることが、読みやすく使いやすいアプリを作る第一歩ですよ。」

カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinの構文ルールまとめ!インデント・セミコロンなど初心者が最初に覚えるべきポイント
New2
Kotlin
Kotlinの関数ドキュメンテーションコメント(KDoc)の書き方を徹底解説!初心者でもわかる丁寧なガイド
New3
Kotlin
KotlinでHello Worldを表示するには?最初の1行を実行してみよう
New4
Go言語
Go言語の依存関係管理を始めよう!go modの基本設定と導入手順
人気記事
No.1
Java&Spring記事人気No1
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.2
Java&Spring記事人気No2
Go言語
Go言語の関数パラメータ!値渡しと参照渡しの違いを理解しよう
No.3
Java&Spring記事人気No3
Kotlin
KotlinのAPI通信でGETリクエストを送る方法!初心者向け徹底ガイド
No.4
Java&Spring記事人気No4
Swift
SwiftのURLSessionでのネットワークエラー対策!再試行とタイムアウトを初心者向けに解説
No.5
Java&Spring記事人気No5
Go言語
Go言語のテストでタイムアウト・並行処理を扱うポイント
No.6
Java&Spring記事人気No6
Go言語
Go言語のWebアプリにおけるセキュリティベストプラクティス集
No.7
Java&Spring記事人気No7
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.8
Java&Spring記事人気No8
Swift
Swift JSONデコード失敗の原因と対処|DecodingError徹底解説