我想在我的应用中显示一个数字,并保持漂亮,显示前导零以使布局均匀。
例如
000 500 / 500 000
001 000 / 500 000
100 350 / 500 000
我从Int获取第一个数字,我想将其格式化为字符串。 是否有一种简洁的方法可以确保一个数字总是六位数,并且还获得前导零的范围以使它们格式化不同?
答案 0 :(得分:1)
这个怎么样?
字符串扩展名:
extension String {
func substring(startIndex: Int, length: Int) -> String {
let start = self.startIndex.advancedBy(startIndex)
let end = self.startIndex.advancedBy(startIndex + length)
return self[start..<end]
}
}
用法:
var a = 500
var s = "000000\(a)"
print(s.substring(s.characters.count - 6, length: 6))
a = 500000
s = "000000\(a)"
print(s.substring(s.characters.count - 6, length: 6))
a = 50
s = "000000\(a)"
print(s.substring(s.characters.count - 6, length: 6))
答案 1 :(得分:1)
NSNumberFormatter
拥有您需要的一切:
let formatter = NumberFormatter()
formatter.minimumIntegerDigits = 6
formatter.numberStyle = .decimal
print(formatter.string(from: 500)!)
print(formatter.string(from: 1000)!)
print(formatter.string(from: 100_350)!)