Konvertierung einer Zeichenkette in eine ganze Zahl unter Android

Wie konvertiere ich eine Zeichenkette in eine ganze Zahl?

Ich habe ein Textfeld, in das der Benutzer eine Zahl eingeben muss:

EditText et = (EditText) findViewById(R.id.entry1);
String hello = et.getText().toString();

Und der Wert wird der Zeichenkette "Hallo" zugewiesen.

Ich möchte ihn in eine ganze Zahl umwandeln, um die eingegebene Zahl zu erhalten; sie wird später im Code verwendet.

Gibt es eine Möglichkeit, den "EditText" in eine Ganzzahl umzuwandeln? Das würde den Mittelsmann überflüssig machen. Wenn nicht, wird String zu Integer genau richtig sein.

Lösung

Siehe die Klasse Integer und die statische Methode parseInt():

http://developer.android.com/reference/java/lang/Integer.html

Integer.parseInt(et.getText().toString());

Sie müssen allerdings NumberFormatException abfangen, falls es Probleme beim Parsen gibt, also:

int myNum = 0;

try {
    myNum = Integer.parseInt(et.getText().toString());
} catch(NumberFormatException nfe) {
   System.out.println("Could not parse " + nfe);
} 
Kommentare (2)
int in = Integer.valueOf(et.getText().toString());
//or
int in2 = new Integer(et.getText().toString());
Kommentare (0)

Sie sollten String in Float umwandeln. Es funktioniert.

float result = 0;
 if (TextUtils.isEmpty(et.getText().toString()) {
  return;
}

result = Float.parseFloat(et.getText().toString());

tv.setText(result); 
Kommentare (0)