Ответ 1
Если у вас есть строковое представление, "ff"
, вы можете использовать UInt8(_:radix:)
:
let string = "ff"
if let value = UInt8(string, radix: 16) {
print(value)
}
Извините, если это кажется очень простым, я просто не могу найти его нигде в Интернете.
У меня есть UInt8 в шестнадцатеричном формате, мне нужно получить его до десятичной. Как быстро достичь этого?
Например:
"и далее"
Спасибо
Если у вас есть строковое представление, "ff"
, вы можете использовать UInt8(_:radix:)
:
let string = "ff"
if let value = UInt8(string, radix: 16) {
print(value)
}
вы можете использовать функцию strtoul для преобразования шестнадцатеричного значения в десятичное:
let result = UInt8(strtoul("ff", nil, 16)) // 255
Попробуйте этот код, он работает для меня.
//Hex to decimal
let h2 = "ff"
let d4 = Int(h2, radix: 16)!
print(d4)
Надеюсь, что это поможет кому-то
Если ваше значение HEX не является строкой, а просто конвертирует время компиляции, вы также можете использовать:
let integer : UInt8 = 0xff
Таким образом, префикс с 0x
будет выполнять эту работу.