Con Swift 5, puede elegir uno de los tres ejemplos que se muestran a continuación para resolver su problema.
# 1 Usando Stringel init(format:_:)inicializador
Foundationproporciona a Swift Stringun init(format:_:)inicializador. init(format:_:)tiene la siguiente declaración:
init(format: String, _ arguments: CVarArg...)
Devuelve un Stringobjeto inicializado utilizando una cadena de formato dada como plantilla en la que se sustituyen los valores de argumento restantes.
El siguiente código de Playground muestra cómo crear un Stringformato Intcon al menos dos dígitos enteros utilizando 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 Stringel init(format:arguments:)inicializador
Foundationproporciona a Swift Stringun init(format:arguments:)inicializador. init(format:arguments:)tiene la siguiente declaración:
init(format: String, arguments: [CVarArg])
Devuelve un Stringobjeto inicializado mediante el uso de una cadena de formato determinada como plantilla en la que los valores de argumento restantes se sustituyen según la configuración regional predeterminada del usuario.
El siguiente código de Playground muestra cómo crear un Stringformato Intcon al menos dos dígitos enteros utilizando 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 UtilizandoNumberFormatter
Fundación proporciona NumberFormatter. Apple dice al respecto:
Instancias de NSNumberFormatterformatear la representación textual de celdas que contienen NSNumberobjetos y convertir representaciones textuales de valores numéricos en NSNumberobjetos. La representación abarca enteros, flotantes y dobles; los flotantes y los dobles se pueden formatear en una posición decimal especificada.
El siguiente código de Playground muestra cómo crear un NumberFormatterque regrese String?de un Intcon al menos dos dígitos enteros:
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")