NSNumberFormatter Währungssymbol

8

In meiner Anwendung kann der Benutzer verschiedene Währungen für die Ausgabenverfolgung auswählen. Ich habe ein Etikett, das den Betrag mit Currecy-Symbol anzeigt. Ich verwende NSNumberFormatter mit kCFNumberFormatterCurrencyStyle , um die Mengenzeichenfolge zu formatieren und sie im Label anzuzeigen;

%Vor%

Mein Ziel ist es, das Währungssymbol mit einer anderen Farbe anzuzeigen, also verwende ich NSAttributedString, versuche den Symbolbereich zu finden und setze ihm verschiedene Attribute zu. Das Problem ist, dass der Formatierer ein falsches Symbol zurückgibt, wenn ich den attributierten String initialisiere:

%Vor%

aber wenn das Etikett auf dem Bildschirm angezeigt wird, sehe ich das korrekte Euro-Währungssymbol:

Weiß jemand, wie man das Währungssymbol für einen bestimmten Währungscode bekommen kann?

    
kas-kad 14.07.2014, 18:08
quelle

1 Antwort

8

Ich habe gerade Ihren Code getestet. Wenn Sie die Protokollanweisungen direkt nach der Definition des Zahlenformatierers ausführen, ist die Ausgabe

%Vor%

Beachten Sie, dass das internationale Währungssymbol und das Währungssymbol von der Ländereinstellung in Ihrem System abhängig zu sein scheinen. Aber Sie können das Gebietsschema für den Formatierer leicht wie folgt ändern:

%Vor%

Es wäre wahrscheinlich das Beste, nicht currencySymbol überhaupt zu setzen. Wenn das Gebietsschema beispielsweise "Thailand" ( @"th_TH" ) lautet, erhalten Sie

%Vor%     
Mundi 14.07.2014, 19:17
quelle