Datentypen Nutzung von Kommas in Benutzeroberfläche

lalala97

Neues Mitglied
Hi,

ich bin mit Java noch nicht so ganz vertraut und komme bereits schon nicht mehr weiter.
Ich habe eine Benutzeroberfläche erstellt, bei der Daten eingegeben werden können.
Nun habe ich ein Problem. Wenn dort ein Kommata eingegeben wird, stürzt das Programm ab.
Datentyp ist double. Das was ich vorhabe ist die Berechnung des BMI's.
Gibt es eine Möglichkeit, dass das Programm nicht abstürzt, wenn man dort ein Komma eingibt, sondern dies automatisch in ein Punkt umwandelt und normal weiter rechnet?
Java:
double Größe = Double.parseDouble(txtGroesse.getText());
double Gewicht = Double.parseDouble(txtGewicht.getText());
double BMI = Gewicht/Math.pow(Größe,2);
 
Zuletzt bearbeitet:
Zuletzt bearbeitet:
Hilalala97,
du könntest die Eingabe als String einspeichern und in dem String dann das Komma durch einen Punkt ersetzen, mit der replace funktion.

String new = alterString.replace(".", ",");
http://www.java-forum.org/java-basics-anfaenger-themen/51873-string-alle-kommas-ersetzten-funzt.html


Und anschließend kannst du den String dann in den Datentyp Double zurückwandeln.
http://www.java-forum.org/java-basics-anfaenger-themen/10268-string-double-umwandeln.html

Gruß Robin
Vielen dank!
Doch irgendwas mache ich falsch?
Java:
String Größe = txtGroesse.getText();
        String Gewicht = txtGewicht.getText();
        String Größe1 = Größe.replace(".", ",");
        String Gewicht1 = Gewicht.replace(".", ",");
        double Größe2 = Double.parseDouble(Größe1);
        double Gewicht2 = Double.parseDouble(Gewicht1);
        double BMI = Gewicht2/Math.pow(Größe2,2); 
        BMI = Math.round(100.0 * BMI) / 100.0;
        String neueZeile = "\n\r";
        txbBMIAusgabe.append("BMI:" + BMI + neueZeile);
run:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "1,8"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1250)
at java.lang.Double.parseDouble(Double.java:540)
 
Zuletzt bearbeitet:
String Größe1 = Größe.replace(",", ".");
String Gewicht1 = Gewicht.replace(",", ".");

So müsste es klappen hab die Zeichen vertauscht 😳
 

Zurück
Oben