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

PHP:将数组中的数值转换为对应英文单词的最优方法

批量将数组数字转换为英文单词的实现方案

嘿,这个需求其实很好解决!既然你已经了解NumberFormatter可以处理单个数字的拼写转换,那只需要结合Swift的高阶函数,就能轻松搞定整个数组的批量处理啦。

核心思路

利用NumberFormatter配置好英文拼写的规则,再通过数组的compactMap方法遍历每个元素,完成逐个转换——这样既复用了你熟悉的工具,又让代码简洁高效。

完整代码示例

// 初始化并配置NumberFormatter
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .spellOut // 设置为拼写数字的样式
numberFormatter.locale = Locale(identifier: "en_US") // 指定英文环境,确保输出英文单词

// 你的输入数组
let inputNumbers = [2, 4, 7, 8]

// 批量转换数组元素
let numberWords = inputNumbers.compactMap { number in
    numberFormatter.string(from: NSNumber(value: number))
}

print(numberWords) // 输出结果: ["two", "four", "seven", "eight"]

关键细节说明

  • 为什么用compactMap而不是普通的map?
    因为numberFormatter.string(from:)返回的是可选字符串(String?),如果遇到无法转换的数值(比如超出拼写范围的极大数),compactMap会自动过滤掉nil值,避免最终数组里出现无效的可选元素。
  • 如果需要适配其他语言,只需要修改locale参数即可,比如改成Locale(identifier: "fr_FR")就能输出法语拼写。

这样就快速实现了你想要的数组转换需求,代码可读性和扩展性都很不错~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:03:10