An einem bestimmten Punkt in Ihrer Mac-, iPhone- oder iPad-Entwicklung müssen Sie möglicherweise eine lange Zahl (1000000000) als durch Kommas getrennte Zeichenfolge (1.000.000.000) ausdrücken, um den Benutzern das Leben zu erleichtern. Die NSNumberFormatter-Klasse ist ein umfangreiches Werkzeug zum Konvertieren von Zahlen in Strings, die verschiedene Arten von Währungen und Lokalisierungen unterstützen. Es ist auch die perfekte Klasse, um für unsere kommende Aufgabe zu nutzen.
Zunächst funktioniert die NSNumberFormatter-Klasse für NSNumber-Objekte. Daher müssen wir unsere Nummer in eine NSNumber konvertieren, falls diese noch nicht vorhanden ist.NSNumber * number = [NSNumber numberWithInt: 1000000000];
NSNumber unterstützt auch Fließkommawerte (numberWithFloat) und die reguläre Gruppe anderer Zahlenformate.
Mit unserer NSNumber in der Hand können wir mit den guten Sachen weitermachen. NSNumberFormatter unterstützt das Gruppieren numerischer Ziffern in Gruppen mit beliebiger Länge (wir möchten Dreiergruppen) und die Gruppen mit beliebigen Zeichenketten trennen (wir möchten ein Komma (@ ”,” verwenden), aber wir könnten jeden beliebigen String verwenden). Hier ist der Code, aus dem unsere Zeichenfolge besteht:
NSNumberFormatter * frmtr = [[NSNumberFormatter-Zuordnung] init];
[frmtr setGroupingSize: 3];
[frmtr setGroupingSeparator: @ ","];
[frmtr setUsesGroupingSeparator: YES];
NSString * commaString = [frmtr stringFromNumber: number];
Lesen Sie hier mehr über die verrückten Tricks von NSNumberFormatter. Es kann auch coole Dinge tun, wie eine Zahl wie 42 in zweiundvierzig zu buchstabieren und signifikante Ziffern zu verwenden.