textfeld string zu float

Destro

Mitglied
Hallo,

ich habe folgendes Problem.

Ich versuche ein einen string aus einem textfeld auszulesen und den wert dann in ein float umzuwandeln. Wenn ich normale zahlen (also ohne Komma eingebe), dann funktioniert es tadellos. Bei Zahlen mit punkt funktioniert es dann nicht.

Java:
cont.setPreis(Float.valueOf(koNPreisTFeld.getText()));

wenn ich dann was eingeb gibts folgende fehlermeldung:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "1.10"

keine ahnung, warum es nicht funktioniert
 
Bei mir hat das Parsen des Strings so geklappt.

Java:
String s = "3.1415926535";
float x = 0.0f;
        try
        {
            x = Float.valueOf(s).floatValue();
        } catch (NumberFormatException ex)
        {
        }
System.out.println(x);
 
Habs jetzt mit dem try und catch versucht, aber der Fehler bleibt. Keine ahnung, warum er in dem Feld einen Integer akzeptiert, einen float aber nicht. Scheint als kommt er mit dem . bei dezimalzahlen nicht klar.
 
Java:
//cont.setPreis(Float.valueOf(koNPreisTFeld.getText())); // Weg

// Hin:
String text = koNPreisTFeld.getText();
System.out.println("The text is >"+text+"<");
System.out.println("Before parse...");
float value = Float.valueOf(text);
System.out.println("After parse: "+value);
cont.setPreis(value);
Was wird ausgegeben?
 
Probiers mal mit

Java:
float x = Float.parseFloat(koNPreisTFeld.getText())

Sofern es das war, was du wolltest?
 

Zurück
Oben