Μετατροπή μιας συμβολοσειράς σε ακέραιο αριθμό στο Android

Πώς μετατρέπω μια συμβολοσειρά σε ακέραιο αριθμό;

Έχω ένα πλαίσιο κειμένου στο οποίο ο χρήστης εισάγει έναν αριθμό:

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

Και η τιμή εκχωρείται στο αλφαριθμητικό hello.

Θέλω να το μετατρέψω σε ακέραιο αριθμό ώστε να μπορώ να πάρω τον αριθμό που πληκτρολόγησαν- θα χρησιμοποιηθεί αργότερα στον κώδικα.

Υπάρχει τρόπος να μετατρέψω το EditText σε ακέραιο αριθμό; Αυτό θα παρέλειπε τον ενδιάμεσο άνθρωπο. Αν όχι, η μετατροπή από συμβολοσειρά σε ακέραιο είναι μια χαρά.

Λύση

Δείτε την κλάση Integer και τη στατική μέθοδο parseInt():

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

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

Θα χρειαστεί να πιάσετε την NumberFormatException όμως σε περίπτωση προβλημάτων κατά την ανάλυση, έτσι:

int myNum = 0;

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

Θα πρέπει να μετατρέψετε το String σε float. Λειτουργεί.

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

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

tv.setText(result); 
Σχόλια (0)