使用Swift中的Locale设置使用NumberFormatter的基数

时间:2018-01-04 12:00:12

标签: swift locale number-formatting nsnumberformatter cardinality

如何使用区域设置在Swift中使用(One, Two, Three)生成基数NumberFormatter

例如,我可以使用英语1 minute -> One minute设置转换Locale。但对于挪威语而言,它应该是 Et minutt ,而它转换为 En minutt 这是错误的。 One的挪威语翻译为En但是当我们在某个句子中使用它时,有时它应该是Et。 这是我的代码示例。

let measurement = Measurement(value: 1, unit: UnitDuration.minutes)
let measurementFormatter = MeasurementFormatter()
measurementFormatter.unitStyle = .long
measurementFormatter.locale = Locale(identifier: "nb_no")
let formatter = NumberFormatter()
formatter.locale = Locale(identifier: "nb_no")
formatter.numberStyle = .spellOut
measurementFormatter.numberFormatter = formatter
let result = measurementFormatter.string(from: measurement)

输出:

én minutt

预期输出

et minutt

0 个答案:

没有答案