Com o Swift 5, você pode escolher um dos três exemplos mostrados abaixo para resolver seu problema.
# 1 Usando Stringo init(format:_:)inicializador
Foundationfornece ao Swift Stringum init(format:_:)inicializador. init(format:_:)tem a seguinte declaração:
init(format: String, _ arguments: CVarArg...)
Retorna um Stringobjeto inicializado usando uma determinada string de formato como um modelo no qual os valores restantes do argumento são substituídos.
O seguinte código do Playground mostra como criar um Stringformatado Intcom pelo menos dois dígitos inteiros usando 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 Usando Stringo init(format:arguments:)inicializador
Foundationfornece ao Swift Stringum init(format:arguments:)inicializador. init(format:arguments:)tem a seguinte declaração:
init(format: String, arguments: [CVarArg])
Retorna um Stringobjeto inicializado usando uma determinada string de formato como um modelo no qual os valores restantes do argumento são substituídos de acordo com o código de idioma padrão do usuário.
O seguinte código do Playground mostra como criar um Stringformatado Intcom pelo menos dois dígitos inteiros usando 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 UsandoNumberFormatter
Fundação fornece NumberFormatter. A Apple afirma sobre isso:
Instâncias de NSNumberFormatterformatar a representação textual de células que contêm NSNumberobjetos e converter representações textuais de valores numéricos em NSNumberobjetos. A representação abrange números inteiros, flutuadores e duplos; flutuadores e duplos podem ser formatados para uma posição decimal especificada.
O código do Playground a seguir mostra como criar um NumberFormatterque retorna String?de um Intcom pelo menos dois dígitos inteiros:
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")