Ich versuche herauszufinden, wie man Int
ein String
in Swift verwandelt.
Ich NSNumber
finde eine Problemumgehung heraus, aber ich würde gerne herausfinden, wie man das alles in Swift macht.
let x : Int = 45
let xNSNumber = x as NSNumber
let xString : String = xNSNumber.stringValue
toString
währenddessen die in der folgenden Antwort gezeigte Funktion.Int
scheint keinetoString()
Methode zu haben, zumindest nicht in Xcode 6.2 edit: Ich sehe, dass es eine globaletoString
Methode gibt ( nichtInt.toString()
), kennt jemand den Vorteil gegenüber der Verwendung desString()
Konstruktors?String(Int?)
"Optional (Int)", zumindest in Swift 2, nicht das sein kann, was Sie gemeint haben. Verwenden Sie stattdessenInt?.description
String(describing: x)
Überprüfen Sie die folgende Antwort:
quelle
String
bereits ein Konstruktor akzeptiertInt
String
ein Konstruktor einen akzeptiertInt
. Es ist viel klarer und prägnanter.Hier sind 4 Methoden:
Ich kann mir vorstellen, dass einige Leute ein Problem mit ss haben werden. Wenn Sie jedoch eine Zeichenfolge mit anderen Inhalten erstellen möchten, warum nicht?
quelle
var ss = "\(x)"
Beispiel ist genau, wie sie empfohlen haben, ein Double in einen String umzuwandeln. Was ich einfach und großartig fand.String(describing:)
sollte niemals für etwas anderes als das Debuggen verwendet werden. Es ist nicht der normale String-Initialisierer.In Swift 3.0 :
quelle
String(describing:)
sollte niemals für etwas anderes als das Debuggen verwendet werden. Es ist nicht der normale String-Initialisierer.Swift 4 :
Developer.Apple.com> String> init (beschreibt :)
Benutzerdefinierte Zeichenfolge konvertierbar
quelle
String(describing:)
sollte niemals für etwas anderes als das Debuggen verwendet werden. Es ist nicht der normale String-Initialisierer.describing
Methode ist hier, um ... ihren Inhalt zu beschreiben . Es gibt eine Beschreibung. Manchmal ist es dasselbe wie bei der Konvertierung, manchmal nicht . Geben Sie eine Option andescribing
und Sie werden das Ergebnis sehen ... Es wird keine Konvertierung sein. Es gibt eine einfache, dedizierte Methode zum Konvertieren: Verwenden des normalen String-Initialisierers, wie in anderen Antworten erläutert. Lesen Sie die vollständige Seite, auf die Sie verlinken: Sehen Sie, dass diese Methode auf verschiedene Weise nach Beschreibungen sucht , von denen einige falsche Ergebnisse liefern würden, wenn Sie eine genaue Konvertierung erwarten.Der Vollständigkeit halber können Sie auch Folgendes verwenden:
oder ein anderer Wert, der eine Beschreibung unterstützt.
quelle
Swift 4:
Es wird versucht, den Wert in label ohne das Wort Optional () anzuzeigen.
hier ist x ein Int-Wert mit.
quelle
String(describing:)
sollte niemals für etwas anderes als das Debuggen verwendet werden. Es ist nicht der normale String-Initialisierer.String()
Initialisierer. Aber geben Sie es nicht optional, zuerst auspacken. Oder verwenden Sie wie in Ihrem Beispiel??
. So:let str = String(x ?? 0)
Um sich Zeit und Ärger in der Zukunft zu sparen, können Sie eine Int-Erweiterung vornehmen. Normalerweise erstelle ich eine gemeinsam genutzte Codedatei, in der ich Erweiterungen, Aufzählungen und andere lustige Dinge ablege. So sieht der Erweiterungscode aus:
Wenn Sie später ein int in einen String konvertieren möchten, können Sie einfach Folgendes tun:
quelle
toInt
odertoInt()
?myNumber.description
. Keine Erweiterungen erforderlich.In Swift 3.0 können wir auf diese Weise
Int
nachString
undString
nach konvertierenInt
quelle
integerValue
Typ istInt
. dann kann es keinen Nullwert dafür geben. Der Compiler fordert Sie also auf, es zu entpacken. Wenn Sie dies vermeiden möchten, verwenden Sie es wielet integerValue = Int(stringValue)
. dann bekommst du kein Problem. Entschuldigung für die späte Antwort.Aus irgendeinem Grund hat die akzeptierte Antwort bei mir nicht funktioniert. Ich habe diesen Ansatz gewählt:
quelle
Mehrere Möglichkeiten, dies zu tun:
quelle
Swift 2:
quelle
Ich benutze diesen einfachen Ansatz
String zu Int:
und von Int zu String:
quelle
Konvertieren Sie Unicode Int in String
Für diejenigen, die ein Int in eine Unicode-Zeichenfolge konvertieren möchten, können Sie Folgendes tun:
Oder alternativ:
quelle
String
Initialisierer kann aUnicodeScalar
.exampleLabel.text = String(yourInt)
quelle
So konvertieren Sie String in Int
Int in String umwandeln
1. Weg)
2. Weg)
oder
quelle
ODER
quelle
In Swift 3.0 können Sie die Ganzzahl wie unten angegeben in eine Zeichenfolge ändern
Ein anderer Weg ist
// oder eine beliebige Ganzzahl anstelle von 15
quelle
Ich bevorzuge die String-Interpolation
Jedes Objekt hat eine Zeichenfolgendarstellung. Das macht die Sache einfacher. Zum Beispiel, wenn Sie einige
String
mit mehreren Werten erstellen müssen . Sie können auch beliebig rechnen oder einige Bedingungen verwendenquelle
Wenn Sie eine schnelle Erweiterung mögen, können Sie folgenden Code hinzufügen
Dann können Sie eine Zeichenfolge mit der gerade hinzugefügten Methode abrufen
quelle
quelle
quelle