I'd like to use NumberFormatter
to generate zh-localised percents as follows, in order to supersede my own code as follow:
let locale = Locale(identifier: lang)
let formatter = NumberFormatter()
formatter.locale = locale
formatter.numberStyle = .percent
formatter.maximumFractionDigits = d
let number = NSNumber(value: Double(n))
if let r = formatter.string(from: number) {
if lang == "zh" { return r.replace(["%"], withString: "%")
return r
}
// My fallback code
Unfortunately, unlike my code, in simplified Chinese NumberFormatter
generates latin %
sign rather than the chinese version %
(hence the replacement patch I do).
I am wondering if one could tweak NumberFormatter
further so that it take care of it? (and in other non-latin languages).