ด้วย Swift 5 คุณสามารถเลือกหนึ่งในสามตัวอย่างที่แสดงด้านล่างเพื่อแก้ปัญหาของคุณ
# 1 ใช้String
's init(format:_:)
initializer
Foundation
ให้ Swift String
a init(format:_:)
initializer 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:)
initializer
Foundation
ให้ Swift String
a init(format:arguments:)
initializer 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 ต่อไปนี้แสดงวิธีสร้าง a NumberFormatter
ที่ส่งคืนString?
จาก a 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")