Avec Swift 5, vous pouvez choisir l'un des trois exemples ci-dessous pour résoudre votre problème.
#1. Utilisation de Stringl' init(format:_:)initialiseur de
Foundationfournit à Swift Stringun init(format:_:)initialiseur. init(format:_:)a la déclaration suivante:
init(format: String, _ arguments: CVarArg...)
Renvoie un Stringobjet initialisé en utilisant une chaîne de format donnée comme modèle dans lequel les valeurs d'argument restantes sont substituées.
Le code Playground suivant montre comment créer un Stringformaté à partir Intd'au moins deux chiffres entiers à l'aide de init(format:_:):
import Foundation
let string0 = String(format: "%02d", 0) // returns "00"
let string1 = String(format: "%02d", 1) // returns "01"
let string2 = String(format: "%02d", 10) // returns "10"
let string3 = String(format: "%02d", 100) // returns "100"
# 2. Utilisation de Stringl' init(format:arguments:)initialiseur de
Foundationfournit à Swift Stringun init(format:arguments:)initialiseur. init(format:arguments:)a la déclaration suivante:
init(format: String, arguments: [CVarArg])
Renvoie un Stringobjet initialisé en utilisant une chaîne de format donnée comme modèle dans lequel les valeurs d'argument restantes sont substituées en fonction des paramètres régionaux par défaut de l'utilisateur.
Le code Playground suivant montre comment créer un Stringformaté à partir Intd'au moins deux chiffres entiers à l'aide de init(format:arguments:):
import Foundation
let string0 = String(format: "%02d", arguments: [0]) // returns "00"
let string1 = String(format: "%02d", arguments: [1]) // returns "01"
let string2 = String(format: "%02d", arguments: [10]) // returns "10"
let string3 = String(format: "%02d", arguments: [100]) // returns "100"
# 3. En utilisantNumberFormatter
Fondation fournit NumberFormatter. Apple déclare à ce sujet:
Les instances de NSNumberFormatterformatage de la représentation textuelle des cellules qui contiennent des NSNumberobjets et convertissent les représentations textuelles des valeurs numériques en NSNumberobjets. La représentation comprend des entiers, des flottants et des doubles; les flottants et les doubles peuvent être formatés à une position décimale spécifiée.
Le code Playground suivant montre comment créer un NumberFormatterqui renvoie String?un Intavec au moins deux chiffres entiers:
import Foundation
let formatter = NumberFormatter()
formatter.minimumIntegerDigits = 2
let optionalString0 = formatter.string(from: 0) // returns Optional("00")
let optionalString1 = formatter.string(from: 1) // returns Optional("01")
let optionalString2 = formatter.string(from: 10) // returns Optional("10")
let optionalString3 = formatter.string(from: 100) // returns Optional("100")