Kommazahlen mit Komma in Textfeld darstellen

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

ich habe hier ein vermeintlich einfacheres Problem: Ich möchte double-Zahlen in einem Textfeld darstellen. Dadurch wandle ich die Zahl in einen String um und lass sie im Textfeld anzeigen. Double-Werte werden für gewöhnlich mit einem "." dargestellt (also z.B. 21.23). Im Textfeld möchte ich dies aber nun mit einem Komma anzeigen - also ersetze in jedem String dann den Punkt durch ein Komma (also String.replace(".", ",")). Hab ich nun eine Zahl, die größer als 1000 ist, wandle sie in einen String um und ersetze ich wieder jeden Punkt durch ein Komma, so erhalte ich als Ausgabe: 1,233,99 - die ist halt wiederum saublöd, also das erste Komma bei Werten über 1000. Wie bekomme ich es denn hin, dass ich als Ausgabe 1.233,99 erhalte?

Danke


Gruß
Dominik
 

Landei

Top Contributor
1) Du erzeugst ein DecimalFormat mit der Locale GERMAN (eventuell brauchst du auch einen Patternstring, je nachdem was du willst)
2) defimalFormat.format(myDouble) liefert dir den richtig formatierten String

konkret genug?
 
G

Guest

Gast
Ja, danke schon mal!
Eine Frage noch: LOCALE German - was ist damit jetzt gemeint und wie mache ich das?
 

ARadauer

Top Contributor
double d = 123456.78d;
DecimalFormat format = new DecimalFormat();
format.setDecimalFormatSymbols(new DecimalFormatSymbols(Locale.GERMAN));
JTextField field = new JTextField();
field.setText(format.format(d));
 

dweiner

Mitglied
Kann man das DecimalFormat eigentlich mit NumberFormat verbinden? Also wenn ich eine Kommazahl auf 2 Nachkommastellen begrenzen will, dann nehme ich ja "NumberFormat" und davon "MaximumDigits(2). Wenn ich jetzt das oben genannte Problem (also ein Punkt statt einem Komma bei Zahlen über 1000) auch noch lösen will, muss ich doch "DecimalFormat" auch noch mit reinbringen, oder?
 

ARadauer

Top Contributor
freilich, du brauchst sie aber nicht verbinden, DecimalFormat erbt bon NumberFormat, du kannst also die Methode einfach benutzen..

java.lang.Object
java.text.Format
java.text.NumberFormat
java.text.DecimalFormat
 

ARadauer

Top Contributor
double d = 123456.789d;
DecimalFormat format = new DecimalFormat();
format.setDecimalFormatSymbols(new DecimalFormatSymbols(Locale.GERMAN));
format.setMaximumFractionDigits(2);
System.out.println(format.format(d));
 
G

Gast

Gast
Hi,

geht das Ganze auch in die andere Richtung?

Beispiel:
Jemand gibt in ein Textfeld eine Zahl mit Komma und Punkt (4.321,08) ein.
Beim normalen Umwandeln (double dZahl = new Double( strZahl ) würde ja eine NumberFormatException kommen. Kann man das mit DecimalFormat umgehen?

Danke und Gruß
Christian
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N kleine Kommazahlen erscheinen plötzlich Allgemeine Java-Themen 19
M Bei String.format ein Komma statt einem Punkt ausgeben lassen Allgemeine Java-Themen 1
das_leon Komma statt Punkt Allgemeine Java-Themen 10
D DecimalFormat: entfernt falsches Komma Allgemeine Java-Themen 12
D Strings vergleichen; Komma ignorieren Allgemeine Java-Themen 3
P Datentypen float mit komma statt punkt möglich? Allgemeine Java-Themen 6
A Dezimalzahlen: Komma-Zeichen Allgemeine Java-Themen 4
reibi double-Wert auf 2 Stellen nach dem Komma abschneiden Allgemeine Java-Themen 6
G split() mit komma/punkt funktioniert nicht Allgemeine Java-Themen 16
R komma oder punkt akzeptieren Allgemeine Java-Themen 5
N Float zahl auf eine Stelle nach dem Komma runden Allgemeine Java-Themen 3
G Double Zahl auf 4 Stellen hinter Komma kuerzen Allgemeine Java-Themen 4
A Float-Wert auf 2 Stellen nach den Komma runden ? Allgemeine Java-Themen 2
kodela Textfeld nicht rechteckig Allgemeine Java-Themen 10
TheSkyRider Java Geburtsdatum Textfeld Allgemeine Java-Themen 7
S Eclipse TestNG: Textfeld einbinden? Allgemeine Java-Themen 1
T itext: text in ein textfeld hinzufügen Allgemeine Java-Themen 2
J Hilfe bei Datumsberechnung aus Textfeld Allgemeine Java-Themen 10
L nach form submit textfeld an java übergeben? Allgemeine Java-Themen 2
F In ein Textfeld im Browser schreiben? Allgemeine Java-Themen 4
O Input/Output Textfeld: nur Integer annehmen Allgemeine Java-Themen 9
M Datum/Uhrzeit in ein Textfeld schreiben Allgemeine Java-Themen 28
hdi GUI: Ich brauche ein Textfeld mit "Sperre" Allgemeine Java-Themen 12
S Textfeld Parser sinnvoll? Allgemeine Java-Themen 3
S Listener Implentierung bei Eingabe in Textfeld Allgemeine Java-Themen 2
S TextFeld Problem! Allgemeine Java-Themen 4
A Textfeld prüfen, ob ein Punkt eingegeben wurde Allgemeine Java-Themen 8
A Problem mit Auslese aus einem Textfeld Allgemeine Java-Themen 3
P Probleme mit Aktualisierung Textfeld im Applet Allgemeine Java-Themen 4
G Textfeld alle 0.5 Sekunden aktualisieren Allgemeine Java-Themen 2
H Datei auslesen und in einem Textfeld ausgeben. Allgemeine Java-Themen 8
M Ein Thread soll ein Textfeld (SWT) ändern Allgemeine Java-Themen 4
A Textfeld soll verschiedene Datumseingaben akzeptieren Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben