1. ホーム
  2. string

[解決済み] Swift での Int の先頭のゼロ

2022-03-15 22:14:27

質問

を変換したい。 Int をSwiftの String を先頭のゼロに置き換えたものです。例えば、次のようなコードを考えてみましょう。

for myInt in 1 ... 3 {
    print("\(myInt)")
}

現在、その結果は

1
2
3

でも、そうであってほしい。

01
02
03

Swiftの標準ライブラリ内でこれを行うためのクリーンな方法はありますか?

どのように解決するのですか?

フィールド長を2、先頭をゼロにしたい場合は、このようにします。

import Foundation

for myInt in 1 ... 3 {
    print(String(format: "%02d", myInt))
}

を出力します。

01
02
03

これには import Foundation ということで、厳密には Swift 言語の一部ではなく Foundation フレームワークを使用します。 なお import UIKitimport Cocoa インクルード Foundation を既にインポートしている場合は、再度インポートする必要はありません。 Cocoa または UIKit .


書式文字列は、複数の項目の書式を指定することができます。 例えば 3 時間です。 15 分と 7 に秒読み 03:15:07 を使えば、こんな風にできます。

let hours = 3
let minutes = 15
let seconds = 7
print(String(format: "%02d:%02d:%02d", hours, minutes, seconds))

を出力します。

03:15:07