Swift native Funktionen, um Zahlen als Hex-Strings zu haben
Gibt es eine native schnelle Möglichkeit für (zumindest integer) - Nummer zu erhalten, Ihrer hexadezimal-Darstellung in einen string? Und die inverse. Es darf keine Stiftung. Zum Beispiel die String-Klasse hat eine Funktion
func toInt() -> Int?
wandelt einen string, der ein integer zu seinen Int-Wert. Ich bin auf der Suche nach etwas ähnliches, mit dem hex-strings. Ich weiß, das ist leicht umsetzbar, aber wenn Swift hat es es schon gibt wäre es besser. Andernfalls, wenn Sie bereits eine Erweiterung von String und Int, um Folgendes zu erreichen:
let anHex = "0xA0"
if let anInt = anHex.toInt() {
println(anInt) //prints 128
println(anInt.toHexString()) //prints "0xA0"
}
Ich weiß, es ist nicht Rakete Wissenschaft, aber in der Fall, bitte teilen Sie es.
PS: Dies ist ähnlich zu diese Frage, der Unterschied ist, dass es im Zusammenhang mit der Foundation framework, während ich nicht verwenden es in mein code (noch bin ich importieren etwas anderes) und jetzt würde ich es gern behalten auf diese Weise auch für das lernen erleichtern.
importieren > Darwin
, letztere ist "Swift " nur". sprintf
? InformationsquelleAutor der Frage Michele Dall'Agata | 2014-11-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als der Swift 2, alle integer-Typen, Konstruktor -
so, dass beide integer
zu hex string und hex-string in integer umwandeln kann getan werden
mit built-in Methoden. Beispiel:
(Alte Antwort für Swift 1:) Die Konvertierung von integer in hex-string kann getan werden, mit
werden(siehe zum Beispiel Wie konvertiert eine dezimale Zahl in eine binäre Swift?). Dies erfordert nicht den import von Rahmen
und funktioniert mit jeder Basis zwischen 2 und 36.
Die Umwandlung von einer hex-string in einen integer kann man mit BSD
library-Funktion
strtoul()
(Vergleiche Konvertieren von Binär zu dezimal auf Swift?) wenn Sie bereit sind, zuimport Darwin
.Ansonsten gibt es (soweit ich weiß) kein built-in Swift-Methode. Hier ist eine Erweiterung
konvertiert einen string zu einer Zahl zu einer bestimmten Basis:
Beispiel:
InformationsquelleAutor der Antwort Martin R
update: Xcode 7.2 • Swift 2.1.1
Testen:
InformationsquelleAutor der Antwort Leo Dabus
Swift 3:
String
zuUInt
:Ergebnis:
16570327
UInt
zu hexString
:Ergebnis:
fcd7d7
InformationsquelleAutor der Antwort Ali Momen Sani
Für Float, Wenn Sie wollen, könnte der IEEE754-Fließkomma -, HEX -
Oder Umgekehrt
InformationsquelleAutor der Antwort Kraming