Wie konvertiere ich eine Zeichenfolge in eine Ganzzahl?
Ich habe ein Textfeld, in das der Benutzer eine Nummer eingeben muss:
EditText et = (EditText) findViewById(R.id.entry1);
String hello = et.getText().toString();
Und der Wert wird der Zeichenfolge zugewiesen hello
.
Ich möchte es in eine Ganzzahl konvertieren, damit ich die eingegebene Zahl erhalten kann. Es wird später im Code verwendet.
Gibt es eine Möglichkeit EditText
, eine Ganzzahl zu erhalten? Das würde den mittleren Mann überspringen. Wenn nicht, ist die Zeichenfolge zur Ganzzahl in Ordnung.
Antworten:
Siehe die Integer-Klasse und die statische
parseInt()
Methode:http://developer.android.com/reference/java/lang/Integer.html
Sie müssen jedoch
NumberFormatException
bei Problemen beim Parsen abfangen , also:quelle
quelle
Verwenden Sie reguläre Ausdrücke:
Ausgabe: i = 1234;
Wenn Sie eine erste Zahlenkombination benötigen, sollten Sie den folgenden Code ausprobieren:
Ausgabe: i = 123;
quelle
Verwenden Sie reguläre Ausdrücke:
Ausgabe:
quelle
Die Verwendung eines regulären Ausdrucks ist der beste Weg, um dies zu tun, wie bereits von Ashish Sahu erwähnt
quelle
Versuchen Sie diesen Code, es funktioniert wirklich.
quelle
Der beste Weg, um Ihren String in int umzuwandeln, ist:
quelle
Sie sollten String verdecken, um zu schweben. Es funktioniert.
quelle
Sie können Folgendes verwenden, um eine Zeichenfolge in eine Ganzzahl zu analysieren:
int value = Integer.parseInt (textView.getText (). toString ());
(1) Eingabe: 12, dann funktioniert es. Die Textansicht hat diese 12-Zahl als "12" -String verwendet.
(2) Eingabe: "abdul", dann wird eine Ausnahme ausgelöst, die NumberFormatException ist. Um dies zu lösen, müssen wir try catch verwenden, wie ich unten erwähnt habe:
Weitere Informationen erhalten Sie unter folgendem Link: http://developer.android.com/reference/java/lang/Integer.html
quelle
Sie können es auch in einer Zeile tun:
Lesen aus der Reihenfolge der Ausführung
findViewById(R.id.button1)
((Button)______)
, um dieView
alsButton
.GetText()
an, um die Texteingabe von Button zu erhalten.toString()
auf, um das Zeichen in einen String umzuwandeln.ReplaceAll()
mit"[\\D]"
an, um alle nichtstelligen Zeichen durch "" (nichts) zu ersetzen.Integer.parseInt()
grab auf und geben Sie eine Ganzzahl aus der Nur-Ziffern-Zeichenfolge zurück.quelle
Die viel einfachere Methode besteht darin, die folgende
decode
Methode zu verwendenInteger
:quelle
Kotlin
Es gibt Erweiterungsmethoden, um sie in andere primitive Typen zu analysieren.
"10".toInt()
"10".toLong()
"true".toBoolean()
"10.0".toFloat()
"10.0".toDouble()
"10".toByte()
"10".toShort()
Java
quelle
Es gibt fünf Möglichkeiten, den ersten Weg umzuwandeln:
Der zweite Weg:
Der dritte Weg:
Der vierte Weg:
Der fünfte Weg:
Es könnte andere Wege geben. Aber daran erinnere ich mich jetzt
quelle