1、Number “1234.568”想转成货币形式 “¥1,234.57”
extension Formatter {
static let withSeparator: NumberFormatter = {
let formatter = NumberFormatter()
formatter.numberStyle = .currency
return formatter
}()
}
// 打印结果SHP 1,234.57
print(Formatter.withSeparator.string(from: "1234.568")
上述得出的结果却是 “SHP 1,234.57”
2、解决
extension Formatter {
static let withSeparator: NumberFormatter = {
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.locale = Locale(identifier: "zh_Hans_CN")
return formatter
}()
}
formatter对象添加设置属性locale
formatter.locale = Locale(identifier: "zh_Hans_CN")
// 打印结果¥1,234.57
print(Formatter.withSeparator.string(from: "1234.568")
通过给对象formatter添加属性locale实现想要的货币格式
formatter.locale = Locale(identifier: "zh_Hans_CN")
备注: 如果想要显示成美元$符号,locale属性设置成:en_US
formatter.locale = Locale(identifier: "en_US")