Come si converte una stringa in un numero intero?
Ho una casella di testo in cui l'utente inserisce un numero:
EditText et = (EditText) findViewById(R.id.entry1);
String hello = et.getText().toString();
E il valore viene assegnato alla stringa hello
.
Voglio convertirlo in un numero intero in modo da ottenere il numero che hanno digitato; sarà usato più avanti nel codice.
C'è un modo per ottenere il EditText
in un intero? Questo salterebbe l'intermediario. Se no, da stringa a intero andrà bene.
Vedi la classe Integer e il metodo statico parseInt()
:
http://developer.android.com/reference/java/lang/Integer.html
Integer.parseInt(et.getText().toString());
Avrete bisogno di catturare la NumberFormatException
però in caso di problemi durante l'analisi, quindi:
int myNum = 0;
try {
myNum = Integer.parseInt(et.getText().toString());
} catch(NumberFormatException nfe) {
System.out.println("Could not parse " + nfe);
}
Dovresti convertire String in float. Funziona.
float result = 0;
if (TextUtils.isEmpty(et.getText().toString()) {
return;
}
result = Float.parseFloat(et.getText().toString());
tv.setText(result);