DecimalFormat vertauscht . und ,

Status
Nicht offen für weitere Antworten.

jakobheid

Neues Mitglied
Hallo ich möchte Zahlen formatieren,

sie sollten diese Form haben: z.B. 1.0001

dementprechend initialisiere ich mein DecimalFormat mit
DecimalFormat formatter = new DecimalFormat("#.####");

er wandelt aber 1.3 in 1,3 um.

wenn ich abrage: formatter.toPattern()
bekomme ich #0.####

wenn ich abrage: formatter.toLocalizedPattern()
bekomme ich #0,####

was ist der unterschied zwischen Pattern und LocalizedPattern?

wenn ich LocalizedPattern auf "#.###" setzte wandelt er 1.3 in 1 um.

Wie komme ich zu 1.3 als ergebnis? Warum setzt mir immer ein , statt eines . hin?

Mfg
Jakbo
 
Weil die Ammies - und Sun ist glaube ich eine amerikansiche Firma;-) - das nunmal so machen!

Ich weiß nicht, ob man das umstellen kann,
sonst wandelst du halt

- s = s.replaceAll(",", ";");
- s = s.replaceAll(".", ",");
- s = s.replaceAll(";", ".");

^^vllt. brauchst du noch EscapeCharacter
 
Was ist denn auf deinem System als Default Locale eingestellt?

Versuch sonst mal:

Code:
DecimalFormat formatter = new DecimalFormat("#.####", new DecimalFormatSymbols(Locale.GERMAN));
 
Ich habe diese Codezeile mal ausprobiert, weil ich auch schon mal daran gescheitert bin.
Bei mir bleibt die Zahl unverändert, wird also nicht formatiert.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben