Ersetzt Komma durch Punkt, wenn floatvalue von NSString abgerufen wird

8

Ich möchte, dass die Benutzer in meiner Anwendung Werte über 0 für einen Geldbetrag eingeben können. Also ist 0,0 oder irgendeine Darstellung von Null inakzeptabel, aber 0,1 wird zum Beispiel akzeptiert.

Um dies zu tun, plante ich, den Gleitkommawert von NSString zu erhalten und es mit 0.0 zu vergleichen, aber dies funktioniert nicht, da unsere Dezimalzahlen immer mit einem Komma getrennt werden müssen (aufgrund einer Geschäftsanforderung). Wenn die Kommas Punkte sind, dann macht der Vergleich den Job.

Was ist der beste Weg, um Kommas durch Punkte in meinen Mengetexten zu ersetzen?

PS: Der Benutzer kann nur Zahlen und nur ein Komma für den Dezimalteil eingeben. Und tatsächlich habe ich mich gefragt, ob das etwas ist, was man mit Zahlenformatiern oder so machen könnte ...

Thx im Voraus

    
aslisabanci 11.07.2011, 11:56
quelle

4 Antworten

19

Sie könnten einfach stringByReplacingOccurrencesOfString

verwenden %Vor%     
Tom Jefferys 11.07.2011, 12:00
quelle
4

Sie können die NSString + JavaAPI -Kategorie verwenden und dann Folgendes tun:

%Vor%

Das hilft natürlich nicht, wenn der Benutzer etwas wie 1,000,00 eingibt.

    
aroth 11.07.2011 12:02
quelle
2

Hier ist eine nette Methode, NSScanner zu verwenden:

%Vor%     
Nestor 26.03.2014 16:33
quelle
0

Apple empfiehlt die Verwendung eines NSScanners. das ist der Code, den ich verwende:

%Vor%     
Fjohn 09.12.2013 14:45
quelle