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/

10-12 07:37