Ich möchte meinen NSNumberFormatter von der Anzeige negativer Zahlen mit Klammern um sie herum bis hin zur Eingabe des Minuszeichens (oder was auch immer der lokalisierte Standard ist) ändern.
Ich würde annehmen, ich könnte dies mit setNegativeFormat tun:
aber lesen Apples ach so gründliche Dokumente Ich bin links kratzen meinen Kopf:
setNegativeFormat:
Legt das Format fest, mit dem der Empfänger negative Werte anzeigt.
%Vor%Parameter aFormat Eine Zeichenfolge, die das Format für negative Werte angibt.
Verfügbarkeit Verfügbar in iPhone OS 2.0 und höher.
Siehe auch - Negativformat
In deklariert NSNumberFormatter.h
Was sind meine Optionen für einFormat?!? Komm Doc Writer, würde ein Link hier dich töten?
edit: Für was es wert ist hier ist die Erklärung:
%Vor%Es ist wichtig für mich, das lokalisierte Währungssymbol & amp; Dezimalstellen, was auch immer sie sein mögen. Daher funktioniert [currencyFormatter setNegativeFormat: @ "- #, ## 0.00"] wahrscheinlich nicht, da die Währung fehlt und 2 Dezimalstellen nicht für alle Währungen angenommen werden können.
Wenn Sie sich den Abschnitt "Format Strings" im Programmierhandbuch zur Datenformatierung für Cocoa :
Die Formatzeichenfolge verwendet die Formatmuster aus dem technischen Unicode-Standard # 35 (diese Referenz ist Version tr35-6, Formatierer für Mac OS X 10.4 verwenden Version tr35-4 ).
Bearbeiten:
Wenn Sie eine Format-Zeichenfolge basierend auf Währungen festlegen möchten, können Sie das ¤
-Zeichen verwenden, zum Beispiel:
Dies fügt das Währungssymbol für die aktuelle Lokalisierung anstelle des ¤
-Zeichens hinzu.
Daher wenden Sie das gleiche Konzept auf die Zeichenfolge mit negativem Format an:
%Vor% Damit wird auch das Währungssymbol anstelle von ¤
für die aktuelle Lokalisierung angewendet.
In diesem Fall sucht es nach einem Format NSString. Suchen Sie hier nach Format-String-Details .
Wenn das Negativ von 12,345.67
als -12,345.67
angezeigt werden soll, dann ist der korrekte NSString-Wert vermutlich @"-#,##0.00"
Ich habe auch den folgenden Satz in dem oben verlinkten Dokument notiert:
Wenn Sie kein Format für angeben negative Werte, das Format angegeben für positive Werte wird verwendet, vorangestellt durch ein Minuszeichen (-).
BEARBEITEN:
Update für 10.4 und danach: Hier ist eine PDF, die das Verhalten in 10.4 und nach beschreibt
Und, wie aus diesem Dokument verlinkt, sind hier die Daten zum erforderlichen Format für 10.4 und nach .
Aus diesem Dokument scheint die richtige Zeichenfolge möglicherweise: @"-#,##0.##"
Alle angegebenen Antworten gehen davon aus, dass die Währung zwei Dezimalstellen hat und Kommata als Tausendertrennzeichen verwendet. Offensichtlich gibt es eine Reihe von Währungen, die nicht diesem Standard Ссылка entsprechen, also verwende ich die folgende Technik
%Vor%Tags und Links cocoa cocoa-touch negative-number number-formatting