String to Float

Diskutiere String to Float im Java Basics - Anfänger-Themen Bereich.
B

Benn001

Hallo,
ich bräuchte Hilfe, bei der Lösung eines Problems:
Ich möchte einen String zu einer Float Variable umwandeln.
Der String wird vorher aus fünf verschiedenen Inputfeldern ausgelesen:
Die Integervariablen sollen also durch Float ersetzt werden.
Weiß jemand wie dass geht?
Danke im vorraus!:)

Java:
if(durch == true) {

                int ni = 0;

                String d1 = input1.getText();

                String d2 = input2.getText();

                String d3 = input3.getText();

                String d4 = input4.getText();

                String d5 = input5.getText();

                int f1 = 0;

                int f2 = 0;

                int f3 = 0;

                int f4 = 0;

                int f5 = 0;

                if(d1.equals("") == false) {    ni = ni+1;         f1 = Integer.parseInt(d1);}

                if(d2.equals("") == false) {    ni = ni+1;          f2 = Integer.parseInt(d2);}

                if(d3.equals("") == false) {    ni = ni+1;         f3 = Integer.parseInt(d3);}

                if(d4.equals("") == false) {    ni = ni+1;         f4 = Integer.parseInt(d4);}

                if(d5.equals("") == false) {    ni = ni+1;         f5 = Integer.parseInt(d5);}

                float end = f1+f2+f3+f4+f5/ni;

                System.out.print(""+end+"");

                 durch = false;

}
 
Zuletzt bearbeitet:
B

Benn001

Danke,
aber als ich das eingefügt habe, zeigt mit Eclipse an, dass ich einen Body hinzufügen soll.
 
krgewb

krgewb

Bitte immer in code-Tags posten.
Java:
if(durch == true) {
    int ni = 0;
    String d1 = input1.getText();
    String d2 = input2.getText();
    String d3 = input3.getText();
    String d4 = input4.getText();
    String d5 = input5.getText();
    int f1 = 0;
    int f2 = 0;
    int f3 = 0;
    int f4 = 0;
    int f5 = 0;
    if(d1.equals("") == false) { ni = ni+1; f1 = Integer.parseInt(d1);}
    if(d2.equals("") == false) { ni = ni+1; f2 = Integer.parseInt(d2);}
    if(d3.equals("") == false) { ni = ni+1; f3 = Integer.parseInt(d3);}
    if(d4.equals("") == false) { ni = ni+1; f4 = Integer.parseInt(d4);}
    if(d5.equals("") == false) { ni = ni+1; f5 = Integer.parseInt(d5);}
    float end = f1+f2+f3+f4+f5/ni;
    System.out.print(""+end+"");
    durch = false;
}
 
B

Benn001

Ich habe das hier in die Class eingefügt:
Code:
public static float parseFloat(String s)
 
T

temi

Ich habe das hier in die Class eingefügt:
Code:
public static float parseFloat(String s)
Du kannst in einer Klasse entweder Instanzvariablen oder Methoden deklarieren.
Java:
class Foo {
   
    privat int value; // Instanzvariable
   
    public void doSomething() { // Methode
        // ..code
    }
}
Deines ist irgendwie eine Mischung aus beiden. Die Fehlermeldung besagt, dass du einen Body, das sind die geschweiften Klammern mit dem Code, angeben sollst.

Aber generell sollst du das auch nicht machen, sondern:
Hast du verstanden, was dies hier macht: f1 = Integer.parseInt(d1)?
 
B

Benn001

Das Problem ist, dass man in dem Inputfeld kommazahlen angeben soll um einen Durchschnitt zu berechnen. Und ich meine das dass mit int nicht geht
 
T

temi

Ja der String "d1" wird zu int "f1"
Etwas ausführlicher:

Es gibt eine Klasse "Integer", die über eine Methode parseInt() verfügt, mit der man einen übergebenen String in einen int-Wert umwandeln kann. Das Ergebnis dieser Methode wird im Anschluss an die int-Variable "f1" zugewiesen. https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt(java.lang.String)

Es gibt auch eine Klasse "Float" und die hat eine ähnliche Methode. Alles klar?
 
B

Benn001

Ja dass ist mir bekannt, so habe ich dass auch versucht. aber Float.parseFlaot(String); funktioniert nicht.

Ich habe dass jetzt anders probiert:

Code:
String s = "34.4";
        double f = Double.parseDouble(s);
        System.out.print(f);
Gibt es Nachteile bei Double?
 
B

Benn001

Code:
String s = "45";
        Float d = Float.parseFloat(s);
Ich bekomme dann an der Seite einen fehler angezeigt
 
B

Benn001

Sorry, aber da steht nur "Rename in File" keine präziser Grund. Wenn man da raufklickt soll ich den Teil .parseFloat umbennen.
 
T

temi

Das hier funktioniert einwandfrei:
Java:
    public static void main(String[] args) {

        String s = "42";

        float f = Float.parseFloat(s);

        System.out.println(f);
    }
Zeig evtl. mal den gesamten Code.
 
Thema: 

String to Float

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben