Дополнительно
Преобразование строки в целое число на Android
Как мне преобразовать строку в целое число?
У меня есть текстовое поле, в котором пользователь вводит номер в:
EditText et = (EditText) findViewById(R.id.entry1);
String hello = et.getText().toString();
И значение присваивается строке hello
.
Я хочу преобразовать его в целое число, чтобы я мог получить число, которое они набрали; это будет использовано позже в коде.
Есть ли способ получить EditText
к целому числу? Это пропустит среднего человека. Если нет, то от строки к целому числу будет просто отлично.
171
13
См. Класс Integer и статический метод
parseInt ()
:Http://developer.android.com/reference/java/lang/Integer.html
Вам нужно будет поймать
NumberFormatException
, хотя в случае проблем при разборе, так что:Используйте регулярное выражение:
вывод: я = 1234;
Если вам нужна первая комбинация чисел, вам следует попробовать код ниже:
вывод: я = 123 ;
Используйте регулярное выражение:
вывод:
Использование регулярного выражения - лучший способ сделать это, как уже упоминалось Ашишем Саху
Попробуйте этот код, он действительно работает.
Лучший способ преобразовать вашу строку в int - это:
Вы можете использовать следующее, чтобы проанализировать строку на целое число:
значение int = Integer.parseInt (textView.getText () .toString ());
(1) ввод: * 12 тогда это будет работать.. потому что textview принял это 12 число как строку "12".
(2) ввод: * «abdul», тогда он бросит исключение, которое является NumberFormatException. Поэтому, чтобы решить эту проблему, нам нужно использовать попытку поймать, как я уже упоминал ниже:
Вы также можете обратиться к следующей ссылке для получения дополнительной информации: http://developer.android.com/reference/java/lang/Integer.html
Вы должны спрятать String, чтобы плавать. Работает.
Вы также можете сделать это одной строкой:
Чтение из порядка исполнения
findViewById (R.id.button1)
((Button) ______)
, чтобы создатьView
какButton
.GetText ()
, чтобы получить текстовую запись из кнопки.toString ()
, чтобы преобразовать изменение символа в строку.ReplaceAll ()
с" [\\ D] "
, чтобы заменить все неперевариваемые символы на" "(ничего)Integer.parseInt ()
grap и верните целое число из строки только для цифр.Гораздо проще использовать метод
decode
Integer
, например:Котлин
Существуют доступные методы расширения, чтобы проанализировать их на другие примитивные типы.
[
"10" .toInt ()
][6][
"10" .toLong ()
][7][
"true" .toBoolean ()
][1][
"10.0" .toFloat ()
][2][
"10.0" .toDouble ()
][3][
"10" .toByte ()
][4][
"10" .toShort ()
][5][1]: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/kotlin.-string / to-boolean.html [2]: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/kotlin.-string / to-float.html [3]: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/kotlin.-string / to-double.html [4]: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/kotlin.-string / to-byte.html [5]: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/kotlin.-string / to-short.html [6]: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/kotlin.-string / to-int.html [7]: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/kotlin.-string / to-long.html
Ява
Есть пять способов конвертировать Первый путь:
Второй способ:
Третий путь:
Четвертый путь:
Пятый путь:
Могут быть и другие способы Но это то, что я помню сейчас