У меня есть строковая переменная:
var str = "239A23F"
Как преобразовать эту строку в двоичный номер?
str.toInt()
не работает.
Как преобразовать шестнадцатеричный номер в корзину в Swift?
Ответ 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)