Swift: Im Textfeld "," eingeben aber trotzdem in float (mit ".")umwandeln und rechnen?
Hi,
Ich habe jetzt eine App in Xcode angefangen, meine erste, und habe ein Problem: Ich will in ein Textfeld Kommazahlen eingeben. In der Form "1.5" klappt auch alles super aber bei "1,5" gibt es einen Fehler (siehe Bild). Liegt also an der Tatsache dass ein Double natürlich kein Komma kann/mag/will, oder?! Jetzt möchte ich aber dass es trotzdem auch mit "," geht. Kann ich den String einfach nach Kommas durchsuchen und diese in "." umwandeln bevor ich den String zum Double mache? Und wenn ja wie?
Danke schonmal für die Hilfe
Max

3 Antworten
Es gibt diverse Seiten, wo ähnliche Probleme behandelt werden. Zum Beispiel: http://stackoverflow.com/questions/8378505/nsstring-stringbyreplacingoccurrencesofstring-frustration
Du kannst die Eingabe auch entsprechend der Einstellungen auf dem Gerät auswerten:
let formatter = NSNumberFormatter()
formatter.locale = NSLocale.currentLocale()
let double = formatter.numberFromString("42,25")
Auf english ist eine kommazahl ja mit einem . Geschrieben
Ne leider
Schau mal im internet wie man von einem String ein Zeichensuchen kann...
Wenn das geht musst du dann einfach den , den der benutzer eingegeben hat in einen . Umwandeln und dann erst berechnen
ja deswegen hat ein double ja auch eine . und kein ,
aber wie ich trotzdem ausGründen der Benutzerfreundlichkeit ein , verwenden kann weisst du nicht zufällig oder? ;P