Swift: 将数组转换为字符串

25 浏览
0 Comments

Swift: 将数组转换为字符串

如何将数组转换为字符串,并在元素之间保留逗号?例如,如果我有一个数组[1, 2, 3, 4],我希望得到一个字符串"1, 2, 3, 4"。

0
0 Comments

问题:如何将数组转换为字符串?

原因:在某些情况下,我们需要将一个数组转换为字符串,以便更方便地处理和展示数据。

解决方法:

1. 使用Swift的map和joined方法来实现数组转换为字符串的功能。

2. 首先,使用map方法将数组中的每个元素都转换为字符串。

3. 然后,使用joined方法将所有的字符串元素连接在一起,使用指定的分隔符进行分隔。

4. 最后,将得到的字符串赋值给目标字符串变量。

具体代码如下:

let array = [1,2,3,4]

let string = array.map(String.init).joined(separator: ", ") // "1, 2, 3, 4"

以上就是将数组转换为字符串的解决方法。

0
0 Comments

问题的出现原因:将一个数组转换为一个字符串。

解决方法:

1. 使用map函数将数组中的数字转换为字符串,并使用joined函数将它们连接为一个单独的字符串,可以指定每个字符串之间的分隔符。

2. 如果要在UI中显示这些数字,并且可能需要使用小数点和/或千位分隔符,可以使用NumberFormatter来以本地化的格式显示结果。

3. 如果想要以"A, B, and C"的形式进行漂亮的显示,在iOS 13+和/或macOS 10.15+中可以使用ListFormatter。

示例代码如下:

let array = [1.0, 1.1, 1.2, 1.3]

// 方法一

let string = array.map { String($0) }

.joined(separator: ", ")

// 方法二

let formatter = NumberFormatter()

formatter.numberStyle = .decimal

formatter.maximumFractionDigits = 2

formatter.minimumFractionDigits = 2

let string = array.compactMap { formatter.string(for: $0) }

.joined(separator: ", ")

// 方法三

let strings = array.compactMap { formatter.string(for: $0) }

if let result = ListFormatter().string(from: strings) {

print(result)

}

输出结果:

方法一:

1.0, 1.1, 1.2, 1.3

方法二:

对于美国用户:

1.00, 1.10, 1.20, 1.30

对于德国用户:

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

方法三:

1.00, 1.10, 1.20, and 1.30

0