我试着用空格来转换我的双精度字符串。现在我有一个1234567.54这样的数字,我需要一个1234567.54这样的字符串,怎么用swift呢?
extension StringProtocol where Self: RangeReplaceableCollection {
mutating func insert(separator: String, every n: Int) {
indices.reversed().forEach {
if $0 != startIndex { if distance(from: startIndex, to: $0) % n == 0 { insert(contentsOf: separator, at: $0) } }
}
}
func inserting(separator: String, every n: Int) -> Self {
var string = self
string.insert(separator: separator, every: n)
return string
}
}
它的工作,但不是我需要的那么多
最佳答案
您可以使用NumberFormatter:
let formatter = NumberFormatter()
formatter.groupingSeparator = " "
formatter.numberStyle = .decimal
let formattedNumber = formatter.string(from: 1234567.89)
print(formattedNumber)
打印:1234567.89