Как преобразовать шестнадцатеричный номер в корзину в Swift?

У меня есть строковая переменная: var str = "239A23F" Как преобразовать эту строку в двоичный номер? str.toInt() не работает.

Ответ 1

Вы можете использовать NSScanner() из фреймворка Foundation:

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)