Datentypen Umwandlung von Kommazahl in Punktzahl Locale DE auf US

jdk

Mitglied
Hallo,

ich will aus einem JTextfield den Inhalt (Kommazahl) in einen BigDecimal umwandeln.

Folgender Code

Java:
to.setAbschlag(new BigDecimal(this.txtAbschlag.getText()));


Das geht auch, wenn z. B. im JTextfield die Zahl mit 3.15 (3Punkt15) drinnensteht. Habe ich ausprobiert.
Nur es steht im Feld 3,15 (3Komma15) drinnen.

Bei diesem Beispiel:
to ist ein Transferklassenobjekt in das ich den Betrag vom textfield reinstellen will
txtAbschlag ist das Textfield, wo eine Kommazahl drinnensteht.

Kann mir bitte jemand helfen, wie ich das am Besten umwandle? (Kommazahl in Punktzahl)

Vielen Dank und liebe Grüße
JDK
 

madboy

Top Contributor
Ich weiß nicht, ob es die beste Lösung ist, aber einfach ist sie auf jeden Fall ;-)
Ersetze alle Kommata durch Punkte:
Java:
input = input.replaceAll(",", ".");
 

eRaaaa

Top Contributor
Mhm, da wirst du aber in anders sprachigen Ländern evtl. Probleme bekommen bei z.B.
[c]"1,337,000.1337"[/c], denn
Code:
new BigDecimal("1.337.000.1337")
wirft dir eine Exception.

Ich würde evtl. das DecimalFormat benutzen:
Java:
		DecimalFormat format = (DecimalFormat) DecimalFormat.getInstance(Locale.ENGLISH);
		format.setParseBigDecimal(true);
		BigDecimal bd = (BigDecimal) format.parse("1,337,000.1337");

Die Locale-Angabe natürlich entfernen, sollte hier nur zeigen dass das dann auch in anderne Locales mit der Eingabe funktioniert. Denn in unserer Locale würde die parse-Methode natürlich beim zweiten Komma aufhören, so etwas gibts ja bei uns gar nicht und würde dann das Ergebnis 1.337 liefern!
 

jdk

Mitglied
Vielen Dank!

Was ich nicht ganz verstehe, warum ich die Locale nicht angeben darf.
Ich hätte nämlich Locale.US angegeben.
Wenn ich das aber mache, dann nimmt er statt 3,15 jedoch 315 ohne Komma/Punkt.
Warum ist das so?

Aber Deine Lösung ist natürlich richtig. Genau das was ich will. :)

Liebe Grüße
JDK
 

eRaaaa

Top Contributor
Naja, das würde vermutlich kein Amerikaner schreiben :)
Der würde ja dann direkt 3.15 schreiben, weil das Komma bei denen ja das Tausendertrennzeichen ist und der Punkt eben das Dezimaltrennzeichen. Du gibst also quasi eine falsche Zahl ein, wie soll der Parser dann darauf reagieren?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
J Umwandlung String zu ASCII-Wert und anders Java Basics - Anfänger-Themen 17
M Operatoren Umwandlung div. Operatoren Java Basics - Anfänger-Themen 7
B Date - Umwandlung OffsetDateTime Java Basics - Anfänger-Themen 11
J Probleme bei der Umwandlung einer Farbe von Hex zu RGB Java Basics - Anfänger-Themen 8
J Umwandlung for-Schleife Java Basics - Anfänger-Themen 10
R Fehler bei ASCII Char zu Int Umwandlung Java Basics - Anfänger-Themen 2
M Umwandlung von StringArray in String Java Basics - Anfänger-Themen 2
P Umwandlung in Javacode Java Basics - Anfänger-Themen 10
M Umwandlung String zu int Java Basics - Anfänger-Themen 2
M Umwandlung von Array zu ArrayList Java Basics - Anfänger-Themen 7
S Umwandlung Binär in Dezimal (ohne array etc.) Java Basics - Anfänger-Themen 6
L Interface JOptionPane Umwandlung Java Basics - Anfänger-Themen 10
A Char Bytes Umwandlung und Darstellung Java Basics - Anfänger-Themen 3
K Datentypen Umwandlung einer Textfeldeingabe in einen binären Wert Java Basics - Anfänger-Themen 2
G Umwandlung in verschiedene Zahlensysteme Java Basics - Anfänger-Themen 4
L Umwandlung von String to Int funktioniert nciht Java Basics - Anfänger-Themen 3
V Methoden Umwandlung in generische Methode Java Basics - Anfänger-Themen 8
J Datentypen Umwandlung von Arraylist in ein StringArray Java Basics - Anfänger-Themen 10
A Umwandlung einer Datei ins int Java Basics - Anfänger-Themen 26
A Umwandlung gcj -> java Java Basics - Anfänger-Themen 4
F Umwandlung vom Dezimalsystem Java Basics - Anfänger-Themen 7
M Umwandlung von Array in Vector und umgekehrt Java Basics - Anfänger-Themen 6
N Umwandlung String - double für mehrdimensionalen array Java Basics - Anfänger-Themen 2
L Umwandlung int <--> byte Java Basics - Anfänger-Themen 2
S Umwandlung von Integer zu String Java Basics - Anfänger-Themen 4
F Datentypen Umwandlung int in String Java Basics - Anfänger-Themen 6
Screen Kurze Frage Umwandlung von Zahlen Java Basics - Anfänger-Themen 2
A Umwandlung int[][][] in String Java Basics - Anfänger-Themen 7
A umwandlung biginteger in int[] Java Basics - Anfänger-Themen 9
A einlesen, schreiben, umwandlung datentyp Java Basics - Anfänger-Themen 10
J Wrapperklasse und ihre Umwandlung Java Basics - Anfänger-Themen 2
Screen Erklärung von der Umwandlung von .class in .jar o. .exe ! Java Basics - Anfänger-Themen 5
Semox Umwandlung von Sonderzeichen in HTML-Datei mit Ausgabe Java Basics - Anfänger-Themen 7
B Umwandlung gemäß Package-Anweisung Java Basics - Anfänger-Themen 5
$ Umwandlung von Schleifen in andere Java Basics - Anfänger-Themen 4
S Problem bei Umwandlung ins Hexadezimalsystem Java Basics - Anfänger-Themen 2
D Umwandlung char -> dezimalzahl und ausgabe als int Java Basics - Anfänger-Themen 5
G Umwandlung Java Basics - Anfänger-Themen 7
A String to Char Umwandlung. Java Basics - Anfänger-Themen 7
R "Umwandlung" SQL-Result in Objekt Java Basics - Anfänger-Themen 5
H Umwandlung von Zahlensystemen Java Basics - Anfänger-Themen 7
E Umwandlung von std, min und sek Java Basics - Anfänger-Themen 2
G Probleme mit Colour und Color, umwandlung möglich? Java Basics - Anfänger-Themen 5
J Umwandlung von Integer in Char Java Basics - Anfänger-Themen 8
Z Problem bei sql-date-Umwandlung Java Basics - Anfänger-Themen 2
T String als Array und Umwandlung in Char Java Basics - Anfänger-Themen 7
R Umwandlung Java Basics - Anfänger-Themen 35
G Frage zu Umwandlung char[] in string[] bzw. Schleifen Java Basics - Anfänger-Themen 9
S Umwandlung eines Character-Streams in ein Image Java Basics - Anfänger-Themen 17
N x.toString(x); umwandlung von long in String Java Basics - Anfänger-Themen 3
F Umwandlung von String in Integer Java Basics - Anfänger-Themen 3
S Umwandlung von int in String Java Basics - Anfänger-Themen 3
J Warum funktioniert meine Umwandlung nicht? Java Basics - Anfänger-Themen 3
B java.time Duration mit Kommazahl? Java Basics - Anfänger-Themen 4
Ponychan95 Kommazahl als richtigen Währungsbetrag ausgeben Java Basics - Anfänger-Themen 1
A Folgende Nullen einer Kommazahl aus String entfernen Java Basics - Anfänger-Themen 3
U Erste Schritte Kommazahl runden Java Basics - Anfänger-Themen 17
B Kommazahl mit 2 Nachkomma-Stellen im jFormattedTextField Java Basics - Anfänger-Themen 6
deetee Kommazahl richtig darstellen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben