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).