Programmieren mit Swift - Für macOS und iOS
Programmieren mit Swift - Für macOS und iOS
Zahlentypen aus Zeichenketten

In Swift 2.0 ist es möglich, Zahlendatentypen aus Zeichenketten zu initialisieren, und man erhält von einem String einen Optional-Int oder Optional-Double.
var intValue:Int? = Int("1000")
var doubleValue:Double? = Double("30.30")
Der Typ muss Optional sein, denn die Umwandlung kann fehlschlagen, zum Beispiel, wenn Buchstaben im Text vorhanden sind. Das Ergebnis der Konvertierung ist dann nicht 0 sondern nil.
Ob und wie die Systemeinstellungen bezüglich der Verwendung von Punkt und Komma bei einer Umwandlung von String in Double berücksichtig werden, ist nicht zu erkennen. Auf einem System, das nach eigenen Aussagen die Lokale de_DE verwendet, war trotzdem ein Punkt und kein Komma erforderlich, um den korrekten Zahlenwert zu bekommen. Im Playground der Xcode-Entwicklungsumgebung kann die aktuelle Einstellung wie folgt ausgegeben werden:
print(NSLocale.currentLocale().localeIdentifier)
Sicherer ist die Umwandlung mit Hilfe der Klasse NSNumberFormatter:
var numberValue:String = "120,3456"

// Einen NSNumberFormatter erzeugen
var formatter = NSNumberFormatter()
formatter.locale = NSLocale(localeIdentifier: "de_DE")

var number:Double?
     = formatter.numberFromString(numberValue)?.doubleValue