In Java werden Dezimalzahlen ja mit . dargestellt.
nun habe ich aber in einem Textfeld die Eingabe, z. B: 2500,20 (mit Komma).
Folgerichtig bekomme ich mit
Code:
Double.parseDouble(tfTextfeld.getText());
eine java.lang.NumberFormatException.
wie kann ich zuvor die Textfeldeingabe so bearbeiten, damit ich sie parsen (gibts das Wort ? ^^) kann? Mit Replace ? Da gibt es doch bestimmt ne bessere Lösung ....
Parsen bedeutet eigentlich das du eine Eingabe aus einem Format mit dem dein Programm nichts anfangen kann in eine andere Darstellung umwandelst mit der es etwas anfangen kann. Soo falsch war es also nicht.
Ist der Text ein string? dann gibt es funktionen alla tfTextfeld.getText().valueOf oder sowas. Kanns grad nicht nachsehen, aber schau mal was da so dabei war.
valueOf wandelt einen prim. Typ oder ein Char-Array in einen String um. (bzw. gibt toString zurück)
Wenn es sich immer nur um ein Komma statt den Punkt handelt, würde ich replace vorziehen, da es sich dabei wohl um den kürzesten und aussagekräftigsten Source handelt.
Aber vielleicht solltest du überlegen, ob ein Textfeld für Dezimalzahlenangaben wirklich so gut geeignet ist. Wir wäre es mit einen JSpinner?
Parsen bedeutet eigentlich das du eine Eingabe aus einem Format mit dem dein Programm nichts anfangen kann in eine andere Darstellung umwandelst mit der es etwas anfangen kann. Soo falsch war es also nicht.
Ist der Text ein string? dann gibt es funktionen alla tfTextfeld.getText().valueOf oder sowas. Kanns grad nicht nachsehen, aber schau mal was da so dabei war.
valueOf wandelt einen prim. Typ oder ein Char-Array in einen String um. (bzw. gibt toString zurück)
Wenn es sich immer nur um ein Komma statt den Punkt handelt, würde ich replace vorziehen, da es sich dabei wohl um den kürzesten und aussagekräftigsten Source handelt.
Aber vielleicht solltest du überlegen, ob ein Textfeld für Dezimalzahlenangaben wirklich so gut geeignet ist. Wir wäre es mit einen JSpinner?
Ok, dann werde ich das mal mit replace() machen, sonst müsste ich da doch einiges ändern.
Das mit dem jSpinner werde ich aber mal genauer anschauen. Hatte vor auch einen ganz kleinen Veranstaltungskalender zu machen. Für die Datumseingaben scheint das sehr gut geeignet zu sein.
Nene ^^
Hier wollte ich einfach nur einen Preis, der eingegeben wird in einen double umwandeln. Dabei hatte ich das Problem mit dem "," . Mit replace(',','.') klappt das jetzt aber, für diesen Zweck völlig ausreichend ^^
Ich denke ich bin mit dem aktuellen Teil noch zwei Tage dran und dann möchte ich noch einen kleinen Veranstaltungskalender anfangen. Dafür wäre dann der jSpinner interressant.