web-dev-qa-db-fra.com

Hex à décimal - Swift

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

12
JoeBayLD

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)
}
34
Rob

vous pouvez utiliser la fonction strtoul pour convertir votre hex en decimal:

let result = UInt8(strtoul("ff", nil, 16))  // 255
2
Leo Dabus

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 

1
Jaywant Khedkar

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.

0
Aron K.