Scusate se questo sembra davvero semplice, non riesco a trovarlo da nessuna parte online.esadecimali - Swift
Ho un UInt8 in esadecimale, ho bisogno di ottenerlo in un decimale. Come posso raggiungere questo in fretta?
Ad esempio:
"ff"
Grazie
Scusate se questo sembra davvero semplice, non riesco a trovarlo da nessuna parte online.esadecimali - Swift
Ho un UInt8 in esadecimale, ho bisogno di ottenerlo in un decimale. Come posso raggiungere questo in fretta?
Ad esempio:
"ff"
Grazie
Se si dispone di una rappresentazione di stringa, "ff"
, è possibile utilizzare UInt8(_:radix:)
:
let string = "ff"
if let value = UInt8(string, radix: 16) {
print(value)
}
Quest'ultimo funziona, tranne una cosa. Tutti gli Ints sono corretti tranne lo 0. Ritorna nullo invece di 0 e salta a 1. Idee? – JoeBayLD
L'ho risolto. Il problema era var value: UInt8 !. Ho fatto il valore var: UInt8 = 0. Ora funziona. – JoeBayLD
Buona presa. Ho aggiornato la mia risposta di conseguenza. Grazie! – Rob
è possibile utilizzare la funzione di strtoul per convertire il vostro esadecimale a decimale:
let result = UInt8(strtoul("ff", nil, 16)) // 255
Prova questo codice, è lavoro per me.
// Hex decimale
let h2 = "ff"
let d4 = Int(h2, radix: 16)!
print(d4)
Spero che questo è di aiuto per qualcuno
possibile duplicato di [Come convertire il numero esadecimale a bin a Swift?] (Http://stackoverflow.com/ domande/26284223/how-to-convert-hex-number-to-bin-in-swift) – Amadan
(se per "decimale" si intende un vero 'UInt8' come' 255', e non un'altra stringa con la rappresentazione decimale, ' "255" '). – Amadan
Ho bisogno di un UInt8 vero – JoeBayLD