Konverzia reťazca na celé číslo v systéme Android

Ako môžem previesť reťazec na celé číslo?

Mám textové pole, do ktorého používateľ zadáva číslo:

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

A hodnota je priradená reťazcu hello.

Chcem ho previesť na celé číslo, aby som mohol získať číslo, ktoré zadali; bude použité neskôr v kóde.

Existuje spôsob, ako získať EditText na celé číslo? Tým by sa vynechal prostredník. Ak nie, bude stačiť prevod reťazca na celé číslo.

Riešenie

Pozri triedu Integer a statickú metódu parseInt():

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

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

V prípade problémov pri analyzovaní však budete musieť zachytiť výnimku NumberFormatException, takže:

int myNum = 0;

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

Mali by ste premeniť reťazec na plávajúci. Funguje to.

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

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

tv.setText(result); 
Komentáre (0)