在Swift中,如何将String转换为Int64?

shi*_*him 11 string xcode int64 long-integer swift

我从一个包含非常大数字的文本文件加载行.String有toInt方法,但是如何将字符串转换为能够处理大数字的Int64呢?

我没有看到toInt64方法或toLong等.必须有办法,但我还没有通过搜索找到任何东西.

或者我想我可以用数字(或数字组)读取字符串中的数字,然后将它们与适当的因子10一起添加,但这看起来有点过分.或者正确的方法是以二进制形式读取数据并以这种方式转换它?

谢谢

Lae*_*and 24

随着斯威夫特2.1.1你可以简单地初始化Int64String

let number: Int64? = Int64("42")
Run Code Online (Sandbox Code Playgroud)

  • 我不认为这是Swift 4中的这句话 (2认同)

Mob*_*Ben 10

如果您不介意使用NSString,则可以执行此操作

let str = "\(LLONG_MAX)"
let strAsNSString = str as NSString
let value = strAsNSString.longLongValue
Run Code Online (Sandbox Code Playgroud)

请注意,与toInt()不同,如果字符串不是合法数字,longLongValue将返回0,而在这种情况下,toInt()将返回nil.