Désolé si cela semble vraiment simple, je ne peux pas le trouver n'importe où en ligne.
J'ai un UInt8 en hexadécimal, il me faut un décimal. Comment y parvenir rapidement?
Par exemple:
"ff"
Merci
Si vous avez une représentation sous forme de chaîne, "ff"
, vous pouvez utiliser UInt8(_:radix:)
:
let string = "ff"
if let value = UInt8(string, radix: 16) {
print(value)
}
vous pouvez utiliser la fonction strtoul pour convertir votre hex en decimal:
let result = UInt8(strtoul("ff", nil, 16)) // 255
Essayez ce code, c'est un travail pour moi.
// Hex à décimal
let h2 = "ff"
let d4 = Int(h2, radix: 16)!
print(d4)
J'espère que c'est de l'aide pour quelqu'un
Si votre valeur HEX n'est pas une chaîne, mais simplement quelque chose que vous voulez convertir au moment de la compilation, vous pouvez également utiliser:
let integer : UInt8 = 0xff
Donc, le préfixer avec 0x
fera l'affaire.