Mit Swift 5 können Sie eine der drei unten gezeigten Beispiele wählen, um Ihr Problem zu lösen.
1. Verwendung des Initialisierers init(format:_:)
von String
Foundation
bietet Swift String
einen Initialisierer init(format:_:)
. init(format:_:)
hat die folgende Deklaration:
init(format: String, _ arguments: CVarArg...)
Liefert ein String
-Objekt, das durch Verwenden einer gegebenen Formatzeichenfolge als Vorlage initialisiert wird, in die die verbleibenden Argumentwerte eingefügt werden.
Der folgende Playground-Code zeigt, wie man einen String
formatiert aus einem Int
mit mindestens zwei ganzen Ziffern durch Verwendung von init(format:_:)
:
import Foundation
let string0 = String(format: "%02d", 0) // gibt "00" zurück
let string1 = String(format: "%02d", 1) // gibt "01" zurück
let string2 = String(format: "%02d", 10) // gibt "10" zurück
let string3 = String(format: "%02d", 100) // gibt "100" zurück
2. Verwendung des Initialisierers init(format:arguments:)
von String
Foundation
bietet Swift String
einen Initialisierer init(format:arguments:)
. init(format:arguments:)
hat die folgende Deklaration:
init(format: String, arguments: [CVarArg])
Liefert ein String
-Objekt, das durch Verwenden einer gegebenen Formatzeichenfolge als Vorlage initialisiert wird, in die die verbleibenden Argumentwerte gemäß der Standardeinstellung des Benutzers eingesetzt werden.
Der folgende Playground-Code zeigt, wie man einen String
formatiert aus einem Int
mit mindestens zwei ganzen Ziffern durch Verwendung von init(format:arguments:)
:
import Foundation
let string0 = String(format: "%02d", arguments: [0]) // gibt "00" zurück
let string1 = String(format: "%02d", arguments: [1]) // gibt "01" zurück
let string2 = String(format: "%02d", arguments: [10]) // gibt "10" zurück
let string3 = String(format: "%02d", arguments: [100]) // gibt "100" zurück
3. Verwendung von NumberFormatter
Foundation bietet NumberFormatter
. Apple sagt dazu:
Instanzen von NSNumberFormatter
formatieren die textuelle Darstellung von Zellen, die NSNumber
-Objekte enthalten, und konvertieren textuelle Darstellungen numerischer Werte in NSNumber
-Objekte. Die Darstellung umfasst Ganzzahlen, Floats und Doubles; Floats und Doubles können auf eine bestimmte Dezimalstelle formatiert werden.
Der folgende Playground-Code zeigt, wie man einen NumberFormatter
erstellt, der aus einem Int
mit mindestens zwei ganzen Ziffern ein String?
zurückgibt:
import Foundation
let formatter = NumberFormatter()
formatter.minimumIntegerDigits = 2
let optionalString0 = formatter.string(from: 0) // gibt Optional("00") zurück
let optionalString1 = formatter.string(from: 1) // gibt Optional("01") zurück
let optionalString2 = formatter.string(from: 10) // gibt Optional("10") zurück
let optionalString3 = formatter.string(from: 100) // gibt Optional("100") zurück