С Swift 5 вы можете выбрать один из трех примеров, показанных ниже, чтобы решить вашу проблему.
# 1. Использование String
«s init(format:_:)
инициализатору
Foundation
обеспечивает Swift String
в init(format:_:)
инициализатор. init(format:_:)
имеет следующую декларацию:
init(format: String, _ arguments: CVarArg...)
Возвращает String
объект, инициализированный с использованием заданной строки формата в качестве шаблона, в который подставляются оставшиеся значения аргумента.
В следующем коде Playground показано, как создать String
формат, Int
содержащий как минимум две целые цифры, используя 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. Использование String
«s init(format:arguments:)
инициализатору
Foundation
обеспечивает Swift String
в init(format:arguments:)
инициализатор. init(format:arguments:)
имеет следующую декларацию:
init(format: String, arguments: [CVarArg])
Возвращает String
объект, инициализированный с использованием заданной строки формата в качестве шаблона, в который подставляются оставшиеся значения аргумента в соответствии с локалью пользователя по умолчанию.
В следующем коде Playground показано, как создать String
формат, Int
содержащий как минимум две целые цифры, используя 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. С помощьюNumberFormatter
Фонд обеспечивает NumberFormatter
. Apple заявляет об этом:
Экземпляры NSNumberFormatter
форматируют текстовое представление ячеек, которые содержат NSNumber
объекты и преобразуют текстовые представления числовых значений в NSNumber
объекты. Представление включает в себя целые числа, числа с плавающей запятой и двойные числа; числа с плавающей запятой и двойники могут быть отформатированы до указанной десятичной позиции.
Следующий код Playground показывает, как создать объект, NumberFormatter
который возвращается String?
из объекта, Int
содержащего как минимум две целые цифры:
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")