Với Swift 5, bạn có thể chọn một trong ba ví dụ được hiển thị bên dưới để giải quyết vấn đề của mình.
# 1. Sử dụng String
's init(format:_:)
initializer
Foundation
cung cấp cho Swift String
một trình init(format:_:)
khởi tạo. init(format:_:)
có tuyên bố sau:
init(format: String, _ arguments: CVarArg...)
Trả về một String
đối tượng được khởi tạo bằng cách sử dụng một chuỗi định dạng đã cho làm mẫu mà các giá trị đối số còn lại được thay thế.
Mã Playground sau đây cho biết cách tạo String
định dạng từ Int
ít nhất hai chữ số nguyên bằng cách sử dụng 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. Sử dụng String
's init(format:arguments:)
initializer
Foundation
cung cấp cho Swift String
một trình init(format:arguments:)
khởi tạo. init(format:arguments:)
có tuyên bố sau:
init(format: String, arguments: [CVarArg])
Trả về một String
đối tượng được khởi tạo bằng cách sử dụng một chuỗi định dạng đã cho làm mẫu mà các giá trị đối số còn lại được thay thế theo ngôn ngữ mặc định của người dùng.
Mã Playground sau đây cho biết cách tạo String
định dạng từ Int
ít nhất hai chữ số nguyên bằng cách sử dụng 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. Sử dụngNumberFormatter
Foundation cung cấp NumberFormatter
. Apple tuyên bố về điều đó:
Thể hiện NSNumberFormatter
định dạng biểu diễn văn bản của các ô có chứa NSNumber
các đối tượng và chuyển đổi biểu diễn văn bản của các giá trị số thành NSNumber
các đối tượng. Các đại diện bao gồm số nguyên, phao và đôi; phao và đôi có thể được định dạng đến một vị trí thập phân được chỉ định.
Mã Playground sau đây cho biết cách tạo một NumberFormatter
trả về String?
từ a Int
có ít nhất hai chữ số nguyên:
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")