Währungsformate anzeigen
-
laut Literatur sollte das Währungsformat in einer Konsolenanwendung angezeigt werden mit folgenden Anweisungen:
double geld = 12000.56;
...
...
NumberFormat C=Numberformat.getCurrencyInstance();NumberFormat D = NumberFormat.getCurrencyInstance(Locale.GERMANY);
System.out.printeln(D.format(geld);
...
...Diese Anweisungen fuktionieren nur mit Locale.USA, woran könnte das liegen.
Wer hat hier erfahrungen ?
-
Welchen Zeichensatz kann deine Konsolenanwendung darstellen?
Latin 8859-1 oder Unicode ?
-
Hallo foo, an Deiner Fragestellung merke ich schon, dass mein Problem nur am Zeichensatz liegen kann. Ich bin davon ausgegangen, dass der UniCode automatisch zur Verfügung steht, dem ist aber nicht so. Kannst Du mir sagen, wie ich diesen Code ins System bringen kann ?
Danke für Deine Hinweise !
-
Die Einstellungen um einen anderen Zeichensatz zu verwenden ist sehr Betriebsystemspezifisch, leider kann ich dir da nicht helfen.
dass mein Problem nur am Zeichensatz liegen kann
Nein nein, das ist bloss meine erste Vermutung. Um der Sache auf den Grund zu gehen schlage ich folgendes vor:
Zerlege den String in ein Array von Character Objekten und lasse dir mit der Methode 'public static int getNumericValue(char ch)' die numerischen Werte fuer die Zeichen Ausgeben. Dann nimm' eine Unicode Tabelle und vergleiche deine numerischen Werte mit den Zeichen in der Tabelle. Danach kannst du dir sicher sein wo das Problem liegt.
-
Hallo foo,
also doch nix mit Platformunabhängikeit.
Ich war dabei, als dieses Problem auftrat.
Eine Vermutung, da alle Rechner Win2000 als OS hatten und es bei einigen funktionierte und bei einigen nicht, nur Einstellungssache. Erst hatte ich den Verdacht wegen unterschiedlicher SP´s 4 oder 2, aber das konnte es nicht sein, denn es hatte nur ein Rechner SP4 alle anderen SP2.
Bei mir zu Hause (WinXP Pro SP1) funktioniert es auf Anhieb.
In erster Linie betraf dies das Euro-Zeichen (€) und das ist, soweit wir wissen in den unterschiedlichen Zeichensätzen an unterschiedlicher Stelle(bzw. gar nicht) integriert. Es kam dann meist ein Ç heraus, und das ist bei mir (Unicode)00C7 oder ALT+0199 während € 20AC oder ALT+0128 ist, also kein wirklicher Zusammenhang.
Wenn ich aber in der Zeichentabelle die Zeichensätze ansehe, fällt mir auf, dass das Eurozeichen unterschiedlich einsortiert ist, während es bei "Windows-westlich" an Stelle 85 steht, ist es bei Unicode an Stelle 824 und bei den Dos Zeichensätzen ist es gar nicht dabei, dort befindet sich aber besagtes Ç (00C7 oder ALT+0199) an der Stelle 85, so dass ich davon ausgehe, dass sich die Konsole auf die einzelnen Zeichensätze einstellen lassen muss, aber wie ist jetzt die Frage ?