Con Swift 5, puede elegir uno de los tres ejemplos que se muestran a continuación para resolver su problema.
# 1 Usando String
el init(format:_:)
inicializador
Foundation
proporciona a Swift String
un init(format:_:)
inicializador. init(format:_:)
tiene la siguiente declaración:
init(format: String, _ arguments: CVarArg...)
Devuelve un String
objeto 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 String
formato Int
con 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 String
el init(format:arguments:)
inicializador
Foundation
proporciona a Swift String
un init(format:arguments:)
inicializador. init(format:arguments:)
tiene la siguiente declaración:
init(format: String, arguments: [CVarArg])
Devuelve un String
objeto 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 String
formato Int
con 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 NSNumberFormatter
formatear la representación textual de celdas que contienen NSNumber
objetos y convertir representaciones textuales de valores numéricos en NSNumber
objetos. 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 NumberFormatter
que regrese String?
de un Int
con 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")