Dengan Swift 5, Anda dapat memilih salah satu dari tiga contoh di bawah ini untuk menyelesaikan masalah Anda.
# 1. Menggunakan String's init(format:_:)initializer
Foundationmenyediakan Swift Stringsebuah init(format:_:)initializer. init(format:_:)memiliki deklarasi berikut:
init(format: String, _ arguments: CVarArg...)
Mengembalikan Stringobjek yang diinisialisasi dengan menggunakan string format yang diberikan sebagai templat di mana nilai argumen yang tersisa diganti.
Kode Playground berikut menunjukkan cara membuat yang Stringdiformat Intdengan setidaknya dua digit bilangan bulat dengan menggunakan 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. Menggunakan String's init(format:arguments:)initializer
Foundationmenyediakan Swift Stringsebuah init(format:arguments:)initializer. init(format:arguments:)memiliki deklarasi berikut:
init(format: String, arguments: [CVarArg])
Mengembalikan Stringobjek yang diinisialisasi dengan menggunakan string format yang diberikan sebagai templat ke mana nilai argumen yang tersisa diganti sesuai dengan lokal default pengguna.
Kode Playground berikut menunjukkan cara membuat yang Stringdiformat Intdengan setidaknya dua digit bilangan bulat dengan menggunakan 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. MenggunakanNumberFormatter
Yayasan menyediakan NumberFormatter. Apple menyatakan tentang itu:
Contoh NSNumberFormatterformat representasi tekstual sel yang berisi NSNumberobjek dan mengkonversi representasi tekstual dari nilai numerik menjadi NSNumberobjek. Representasi meliputi bilangan bulat, mengapung, dan ganda; pelampung dan ganda dapat diformat ke posisi desimal yang ditentukan.
Kode Playground berikut menunjukkan cara membuat NumberFormatteryang kembali String?dari Intdengan setidaknya dua digit bilangan bulat:
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")