Swift Academy · レッスン

文字列内の数値の書式設定

フォーマッターで小数点以下の桁数や余白を調整します。

レッスン 2/413 ステップ

「文字列内の数値の書式設定」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。

数値をフォーマットする

Doubleをそのまま補間すると、小数点以下の桁数が多く表示されることがあります。出力を制御するには、C形式のフォーマット指定子とString(format:)を使います。

let pi = 3.14159265
let text = String(format: "%.2f", pi)
print(text)

小数点以下の桁数を制御する

指定子%.2fは、小数点以下2桁の浮動小数点数を意味します。数字を変更すると精度を変更できます。

let value = 2.0 / 3.0
print(String(format: "%.0f", value))
print(String(format: "%.3f", value))

整数をフォーマットする

整数には%dを使います。%5dのような幅指定子を使って、余白で埋めることもできます。

let n = 42
print(String(format: "Value: %d", n))
print(String(format: "[%5d]", n))

数値をゼロ埋めする

幅の前にゼロを付けると、先頭がゼロで埋められます。固定幅の識別子や時刻に便利です。

let hour = 9
let minute = 5
print(String(format: "%02d:%02d", hour, minute))

フォーマットによる丸め

%f指定子は指定された小数点以下の桁数に丸めるため、フォーマットを表示用の丸めとして利用できます。

let amount = 19.996
print(String(format: "%.2f", amount))

フォーマットと補間を組み合わせる

まず値をフォーマットし、その結果を通常の補間で埋め込むことで、読みやすい文章を作成できます。

let temp = 21.6789
let shown = String(format: "%.1f", temp)
print("Temperature: \(shown) degrees")

パーセンテージと記号

String(format:)でパーセント記号をそのまま出力するには、パーセント記号を2つ記述します。

let rate = 0.075
print(String(format: "%.1f%% rate", rate * 100))

FloatingPointFormatStyleの基本

現在のSwiftでは、フォーマット文字列に代わる型安全な方法として、FloatingPointFormatStyleとformatted()を利用できます。

let value = 1234.5678
print(value.formatted(.number.precision(.fractionLength(2))))

Format Styleで精度を指定する

.precision(.fractionLength(n))修飾子は、表示する小数部分の桁数を設定します。%.nfと同様の働きです。

let x = 3.14159
print(x.formatted(.number.precision(.fractionLength(0))))
print(x.formatted(.number.precision(.fractionLength(3))))

Format Styleで桁区切りを付ける

数値のフォーマットスタイルでは、大きな数値にロケールに応じた桁区切りを追加することもできます。

let big = 1234567.0
print(big.formatted(.number.precision(.fractionLength(0))))

フォーマット方法を選ぶ

手早くC形式の制御を行うにはString(format:)を使い、現代的なコードで型安全かつロケール対応の出力を行うにはformatted()を使います。

let price = 9.5
print(String(format: "%.2f", price))
print(price.formatted(.number.precision(.fractionLength(2))))

クイックチェック

フォーマット指定子が何を制御するか思い出してください。

復習:文字列内の数値のフォーマット

%.2fや%d、ゼロ埋めの%02dなどのString(format:)指定子で数値の出力を制御する方法と、ロケールに対応した結果を得るために、型安全な最新のformatted(.number.precision(...))スタイルを使う方法を学びました。

let v = 7.0 / 3.0
print(String(format: "%.2f", v))
print(v.formatted(.number.precision(.fractionLength(2))))
無料で開始

AI チューターと学ぶ Swift — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
122
レッスン
409

よくある質問

「文字列内の数値の書式設定」レッスンは無料ですか?

はい。「文字列内の数値の書式設定」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。

「文字列内の数値の書式設定」で何を学びますか?

フォーマッターで小数点以下の桁数や余白を調整します。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Swift Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「文字列内の数値の書式設定」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSwift Academyレッスンでコードを書いて実行できますか?

はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 文字列補間の基礎
  2. 文字列内の数値の書式設定
  3. 複数行文字列リテラル
  4. カスタム文字列補間
← Swift Academyに戻る