4
let temp: String = "0xffeeffff"

UInt32のみを受け入れるビットマップに保存する必要があるため、上記の文字列をUInt32に変換する方法

4

2 に答える 2

4

文字列から「0x」を削除して、UInt32 に変換します。

let temp   = "0xffeeffff"
let result = UInt32(String(temp.characters.dropFirst(2)), radix: 16)
于 2016-01-04T01:20:08.597 に答える
2

これがあなたの助けになることを願っています...

extension String {
func toUInt() -> UInt? {
    if contains(self, "-") {
        return nil
    }
    return self.withCString { cptr -> UInt? in
        var endPtr : UnsafeMutablePointer<Int8> = nil
        errno = 0
        let result = strtoul(cptr, &endPtr, 10)
        if errno != 0 || endPtr.memory != 0 {
            return nil
        } else {
            return result
        }
    }
}
}
于 2016-01-04T09:21:47.190 に答える