使用NumberFormatter
let fmt = NumberFormatter()
fmt.numberStyle = .spellOut
fmt.locale = Locale(identifier: "zh_CN")
let str = fmt.string(from: NSNumber(value: 12552))
print(str!) //一万二千五百五十二
不设置local会跟随系统语言
public enum Style : UInt {
///无类型 输出:
case none
///取小数点后三位 输出:1,255,002.123
case decimal
///格式化为货币(保留两位小数),货币符号跟随Locale 输出:$1,255,002.12 (或 ¥1,255,002.12)
case currency
///格式化为百分数(保留两位小数) 输出:125,500,212%
case percent
///科学计数 1.25500212345E6
case scientific
///跟随语言的拼写格式
///one million two hundred fifty-five thousand two point one two three four five
///一百二十五万五千〇二点一二三四五
case spellOut
///格式化为序号(保留整数) 跟随语言
/// 1st 2nd 12th
/// 第2
@available(iOS 9.0, *)
case ordinal
///格式化为货币标准码 输出:USD 2412.12
@available(iOS 9.0, *)
case currencyISOCode
///格式化为货币 输出:2412.12 US dollars
///2412.12人民币
@available(iOS 9.0, *)
case currencyPlural
CurrencyAccounting:格式化为货币会计 输出:$2412.12
@available(iOS 9.0, *)
case currencyAccounting
}