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
 

MPW

Top Contributor
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
 

Lim_Dul

Top Contributor
Was ist denn auf deinem System als Default Locale eingestellt?

Versuch sonst mal:

Code:
DecimalFormat formatter = new DecimalFormat("#.####", new DecimalFormatSymbols(Locale.GERMAN));
 

L-ectron-X

Gesperrter Benutzer
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.

Ähnliche Java Themen

Neue Themen


Oben