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

Swift中如何将NSNumber数组转换为Int数组?

在Swift中从NSNumber获取Int值及数组转换方法

单个NSNumber转Int值

直接调用NSNumber的intValue属性即可,这是最直接的方式:

let nsNum: NSNumber = 456
let intVal = nsNum.intValue

也可以通过Int初始化器完成转换:

let intVal = Int(nsNum)

NSNumber数组转Int数组

利用Swift的map方法遍历数组,逐个转换元素:
假设已有NSNumber数组:

let array1: [NSNumber] = [10, 20, 30, 40]

一行代码即可完成转换:

let array2: [Int] = array1.map { $0.intValue }

也可以用初始化器的方式实现:

let array2: [Int] = array1.map { Int($0) }

注意事项

如果NSNumber存储的是浮点数(比如NSNumber(value: 5.9)),转换为Int时会自动截断小数部分,得到5,不会进行四舍五入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 00:04:52