我有一个字符串变量:
var str = "239A23F"
如何将这个字符串转换为二进制数?
str.toInt()
不起作用。
你可以使用Foundation框架中的NSScanner()
:
let scanner = NSScanner(string: str)
var result : UInt32 = 0
if scanner.scanHexInt(&result) {
println(result) // 37331519
}
或者使用BSD库函数strtoul()
let num = strtoul(str, nil, 16)
println(num) // 37331519
自从 Swift 2 (Xcode 7) 开始,所有整数类型都有一个
public init?(_ text: String, radix: Int = default)
提供一个初始化器,以便提供纯Swift的解决方案:
let str = "239A23F"
let num = Int(str, radix: 16)