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

iOS Swift:将Double值转换为巴西雷亚尔(pt-BR)货币格式

正确实现巴西雷亚尔货币格式显示

你需要用NumberFormatter来处理地区化的货币格式化,直接转成NSNumber再插值不会自动应用地区格式,以下是可行的代码:

private var myValue: Double = 1234.56
let formatter = NumberFormatter()
// 指定巴西地区的语言环境
formatter.locale = Locale(identifier: "pt-BR")
// 设置格式类型为货币
formatter.numberStyle = .currency
// 将Double转为NSNumber后格式化,同时处理格式化失败的兜底情况
myLabel.text = formatter.string(from: NSNumber(value: myValue)) ?? "R$ 0,00"

关键细节说明:

  • Locale(identifier: "pt-BR")会触发巴西地区的格式规则:自动使用雷亚尔符号R$,采用逗号作为小数分隔符、点作为千位分隔符(比如1234.56会显示为R$ 1.234,56)
  • .currency样式让格式化器严格按照货币规则处理数值
  • 用??设置兜底字符串,避免格式化失败时Label显示空白

如果需要自定义小数位数,可以追加以下配置:

// 强制保留2位小数
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 23:35:25