Przepraszam, jeśli wydaje się to naprawdę proste, po prostu nie mogę go znaleźć w Internecie.Hex do dziesiętnych - Swift
Mam UInt8 w hex, potrzebuję dostać to do dziesiętnego. Jak osiągnąć to szybko?
Na przykład:
"ff"
Dzięki
Przepraszam, jeśli wydaje się to naprawdę proste, po prostu nie mogę go znaleźć w Internecie.Hex do dziesiętnych - Swift
Mam UInt8 w hex, potrzebuję dostać to do dziesiętnego. Jak osiągnąć to szybko?
Na przykład:
"ff"
Dzięki
Jeśli masz reprezentację ciąg, "ff"
, można użyć UInt8(_:radix:)
:
let string = "ff"
if let value = UInt8(string, radix: 16) {
print(value)
}
Ten ostatni działa, z wyjątkiem jednej rzeczy. Wszystkie wartości Int są poprawne z wyjątkiem 0. Zwraca zero zamiast 0, a ostatnie skoki do 1. Pomysły? – JoeBayLD
Naprawiłem to. Problemem była wartość var: UInt8 !. Zrobiłem to wartość var: UInt8 = 0. Teraz działa. – JoeBayLD
Dobry połów. Odpowiednio zaktualizowałem swoją odpowiedź. Dzięki! – Rob
można użyć strtoul funkcji do konwersji hex do dziesiętnych:
let result = UInt8(strtoul("ff", nil, 16)) // 255
Spróbuj tego kodu, to działa dla mnie.
// Hex na dziesiętny
let h2 = "ff"
let d4 = Int(h2, radix: 16)!
print(d4)
nadzieję, że to pomaga na jakiś jeden
możliwe duplikat [Jak konwertować liczby hex na bin w Swift?] (Http://stackoverflow.com/ pytania/26284223/how-to-convert-hex-number-to-bin-in-swift) – Amadan
(jeśli "dziesiętnie" masz na myśli prawdziwy 'UInt8' jak' 255', a nie inny ciąg z dziesiętną reprezentacją, ' "255"). – Amadan
Potrzebuję prawdziwego UInt8 – JoeBayLD