Com o Swift 5, você pode escolher um dos três exemplos mostrados abaixo para resolver seu problema.
# 1 Usando String
o init(format:_:)
inicializador
Foundation
fornece ao Swift String
um init(format:_:)
inicializador. init(format:_:)
tem a seguinte declaração:
init(format: String, _ arguments: CVarArg...)
Retorna um String
objeto 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 String
formatado Int
com 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 String
o init(format:arguments:)
inicializador
Foundation
fornece ao Swift String
um init(format:arguments:)
inicializador. init(format:arguments:)
tem a seguinte declaração:
init(format: String, arguments: [CVarArg])
Retorna um String
objeto 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 String
formatado Int
com 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 NSNumberFormatter
formatar a representação textual de células que contêm NSNumber
objetos e converter representações textuais de valores numéricos em NSNumber
objetos. 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 NumberFormatter
que retorna String?
de um Int
com 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")