字符串到int的转换不起作用

时间:2018-12-26 02:54:17

标签: ios arrays swift

我正在尝试对数字数组进行一些操作。我希望将它们结合起来并有所作为。我知道reduce操作也可以,但是我不确定为什么这不起作用。

var digits = [7,2,8,5,0,9,1,2,9,5,3,6,6,7,3,2,8,4,3,7]
var strDigits = ""
for i in digits
{
    strDigits += String(i)
}
print(strDigits)
if let number = Int(strDigits) {
    print(number)
}
else{
    print("didnt work")
}

这将无法打印。如果我将数组中的元素减少1,它将再次开始工作并打印数字。为什么在字符串太长的情况下不能将字符串强制转换为int的限制?

1 个答案:

答案 0 :(得分:1)

当将所有数字组合成字符串时,该数字对于Int64来说太大了,上限为9223372036854775807,而您的数字为72850912953667328447。 为马丁的更正而编辑。