# textfeld string zu float



## Destro (26. Jul 2012)

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.


```
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


----------



## TrueSpirit (26. Jul 2012)

Bei mir hat das Parsen des Strings so geklappt.


```
String s = "3.1415926535";
float x = 0.0f;
        try
        {
            x = Float.valueOf(s).floatValue();
        } catch (NumberFormatException ex)
        {
        }
System.out.println(x);
```


----------



## Destro (26. Jul 2012)

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.


----------



## Marco13 (26. Jul 2012)

```
//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?


----------



## Cynric (26. Jul 2012)

Probiers mal mit


```
float x = Float.parseFloat(koNPreisTFeld.getText())
```

Sofern es das war, was du wolltest?


----------



## Destro (27. Jul 2012)

keine Ahnung wiso, aber heute morgen funktionierte es plötzlich. ???:L

Danke für die Ratschläge.


----------

