Jak przekonwertować ciąg na liczbę całkowitą?
Mam pole tekstowe, w którym użytkownik musi wprowadzić numer w:
EditText et = (EditText) findViewById(R.id.entry1);
String hello = et.getText().toString();
A wartość jest przypisana do ciągu hello
.
Chcę przekonwertować go na liczbę całkowitą, aby uzyskać numer, który wpisali; zostanie użyty później w kodzie.
Czy istnieje sposób na uzyskanie EditText
liczby całkowitej? Pominąłoby to środkowego człowieka. Jeśli nie, ciąg znaków do liczby całkowitej będzie w porządku.
Odpowiedzi:
Zobacz klasę całkowitą i
parseInt()
metodę statyczną :http://developer.android.com/reference/java/lang/Integer.html
Będziesz jednak musiał złapać
NumberFormatException
w razie problemów podczas analizowania, więc:źródło
źródło
Użyj wyrażenia regularnego:
wyjście: i = 1234;
Jeśli potrzebujesz kombinacji pierwszego numeru, spróbuj poniżej kodu:
wyjście: i = 123;
źródło
Użyj wyrażenia regularnego:
wynik:
źródło
Używanie wyrażeń regularnych jest najlepszym sposobem na zrobienie tego, jak już wspomniano przez ashish sahu
źródło
Wypróbuj ten kod, który naprawdę działa.
źródło
Najlepszym sposobem na konwersję łańcucha na int jest:
źródło
Powinieneś ukryć String, aby się unosić. To działa.
źródło
Aby przeanalizować ciąg znaków na liczbę całkowitą, możesz użyć następujących poleceń:
int wartość = Integer.parseInt (textView.getText (). toString ());
(1) wejście: 12, to zadziała .. ponieważ textview przyjął tę liczbę 12 jako ciąg „12”.
(2) input: „abdul”, wówczas wygeneruje wyjątek, którym jest NumberFormatException. Aby rozwiązać ten problem, musimy użyć try catch, jak wspomniałem poniżej:
Aby uzyskać więcej informacji, możesz również skorzystać z następującego łącza: http://developer.android.com/reference/java/lang/Integer.html
źródło
Możesz to również zrobić w jednym wierszu:
Odczyt z kolejności wykonania
findViewById(R.id.button1)
((Button)______)
aby rzucićView
jakoButton
.GetText()
aby uzyskać wpis tekstu z przycisku.toString()
aby przekształcić zmienną znakową w ciąg znaków.ReplaceAll()
z,"[\\D]"
aby zastąpić wszystkie znaki inne niż cyfry znakiem „” (nic)Integer.parseInt()
grab i zwróci liczbę całkowitą z ciągu tylko cyfry.źródło
Znacznie prostszą metodą jest użycie
decode
metodyInteger
, na przykład:źródło
Kotlin
Dostępne są metody rozszerzenia służące do parsowania ich na inne typy pierwotne.
"10".toInt()
"10".toLong()
"true".toBoolean()
"10.0".toFloat()
"10.0".toDouble()
"10".toByte()
"10".toShort()
Jawa
źródło
Istnieje pięć sposobów konwersji Pierwszego sposobu:
Drugi sposób:
Trzecia droga:
Czwarta droga:
Piąta droga:
Mogą być inne sposoby Ale teraz to pamiętam
źródło