2014-10-09 3 views

ответ

25

Вы можете использовать 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) 
Смежные вопросы