You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让NumberFormatter显示$而非US$格式的美元货币符号

原因说明

在zh_CN区域配置下,iOS系统默认会为美元货币添加US前缀符号,避免和人民币的¥符号混淆,所以输出结果为US$12.34。

解决方法

直接手动设置NumberFormatter的currencySymbol属性,覆盖系统默认的货币符号即可:

let price = 12.34 as NSNumber
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.currencyCode = "USD"
formatter.locale = Locale(identifier: "zh_CN")
// 新增以下代码自定义美元符号
formatter.currencySymbol = "$"
print(formatter.string(from: price)!) // 输出结果:$12.34

额外提示

  • 如果业务中需要处理多种货币类型,仅在货币为美元时设置currencySymbol属性即可,避免影响欧元、人民币等其他货币的正常展示
  • 如果你不需要保留中文区域的数字格式规则,也可以将locale设置为en_US,此时美元默认符号就是$,但数字的千分位、小数排版规则会适配美国区域习惯,不适用于中文展示场景

内容的提问来源于stack exchange,提问作者bAthi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 20:36:01