【问题标题】:How to store long in a Swift array?如何在 Swift 数组中存储 long?
【发布时间】:2017-04-18 14:51:30
【问题描述】:
我有几个要发送到数组中的用户 ID,但无法找出正确的 Swift 3 语法来创建具有很长整数的数组。我尝试了转换,@ 前缀并使用as AnyObject,但这不起作用。
let idArray = [10211420262370680, 10211420262370680]
错误:整数字面量在存储到 int 时溢出
用这么长的整数创建数组的正确方法是什么?
【问题讨论】:
标签:
ios
arrays
swift
long-integer
integer-overflow
【解决方案1】:
试试这个:
let idArray: [UInt64] = [10_211_420_262_370_680, ...]
作为信封计算的背面,每 10 位 为您购买 3 个十进制数字。例如,UInt32 在4_000_000_000 附近达到最大值,以此类推。
顺便说一句,上面的下划线_ 是just syntax sugar 用于大数字文字;-)
【解决方案2】:
有符号长的数组:
let signed64BitIntegerArray: [Int64] = [-10211420262370680, 10211420262370680]
无符号长的数组:
let unsigned64BitIntegerArray: [UInt64] = [ 10211420262370680, 10211420262370680]