Swift:将数组转换为String

Ale*_*nko -1 cocoa-touch foundation ios swift

如何将数组[Int]转换为例如保持元素之间逗号的字符串?如果我有一个like数组[1,2,3,4],我想收到一个String like "1, 2, 3, 4"

Rob*_*Rob 5

你可以做:

let string = array.map { String($0) }
    .joined(separator: ", ")
Run Code Online (Sandbox Code Playgroud)

map调用将数字数组转换为字符串数组,并将joined它们组合在一起成为单个字符串,并在各个字符串之间使用所需的分隔符。

或者,如果要在用户界面中显示数字,则数字可能需要小数点和/或数千个分隔符,那么最好使用NumberFormatter以下格式以本地化格式显示结果:

let array = [1.0, 1.1, 1.2, 1.3]
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
formatter.maximumFractionDigits = 2
formatter.minimumFractionDigits = 2

let string = array.compactMap { formatter.string(for: $0) }
    .joined(separator: ", ")
Run Code Online (Sandbox Code Playgroud)

对于美国用户,这将导致:

1.00、1.10、1.20、1.30

但是对于德国用户,这将导致:

1,00,1,10,1,20,1,30