Ich habe dies versucht:Testing Saiten für Zahlen und Prozente mit NSNumberFormatter
NSNumberFormatter *testNumber=[NSNumberFormatter new];
if (![testNumber numberFromString:someNSString])
Ich habe gesagt, dass die numberFromString
zurück nil
wenn someNSString
ist keine Zahl.
Allerdings habe ich festgestellt, dass, wenn someNSString
enthält, beispielsweise „5,9%“, dann ist dies angenommen wird, nicht eine Zahl, also mein Test oben geht, obwohl NSNumber selbst mit 5.9%
als Zahl arbeiten kann nur fein.
Also, wie man elegant auf Zahlen gegen Nicht-Zahlen prüft, wenn Prozente als Zahlen eingeschlossen werden?
Was meinen Sie mit "NSNumber selbst kann mit 5,9% arbeiten"? –
Wenn ich den 'floatValue' einer Zeichenkette speichern, die" 5,9% "enthält, wird sie in NSNumber korrekt bei 0,059 gespeichert. Es kann abgerufen und als Float verwendet werden. – johnbakers