将Integer
映射到String
的最简单方法是什么?
这是一个整数数组。
let englishIntLiterals: [Int] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
我想把每个数字的出现情况映射到它们的尼泊尔语等价数字,这些数字表示为一个字符串数组。
let nepaliLiterals: [String] = ["१", "२", "३", "४", "५", "६", "७", "८", "९", "०"]
我需要将
1
替换为१
等等。我知道有一个关于函数的解决方案,但是我正在寻找一个更高阶的函数解决方案,我还没有弄清楚。
最佳答案
您可以使用固定的语言环境号格式化程序显示本地化的整数:
extension Formatter {
static let numberNepal: NumberFormatter = {
let formatter = NumberFormatter()
formatter.locale = Locale(identifier: "ne_NP")
formatter.numberStyle = .decimal
return formatter
}()
}
extension BinaryInteger {
var nepaliFormatted: String {
return Formatter.numberNepal.string(for: self)!
}
}
1234567890.nepaliFormatted // "१,२३४,५६७,८९०"
let englishIntLiterals = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
let nepaliLiterals = englishIntLiterals.map{$0.nepaliFormatted} // "१", "२", "३", "४", "५", "६", "७", "८", "९", "०"]
关于ios - 在Swift中将整数映射到字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57550055/