Преобразование строки в целое число на Android - PullRequest
169 голосов
/ 25 апреля 2010

Как мне преобразовать строку в целое число?

У меня есть текстовое поле. Пользователь вводит число в:

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

И значение присваивается строке hello.

Я хочу преобразовать его в целое число, чтобы я мог получить набранное число; позже он будет использован в коде.

Есть ли способ получить EditText целое число? Это пропустит среднего человека. Если нет, строка в целое число будет хорошо.

Ответы [ 13 ]

2 голосов
/ 28 октября 2014

Вы также можете сделать это одной строкой:

int hello = Integer.parseInt(((Button)findViewById(R.id.button1)).getText().toString().replaceAll("[\\D]", ""));

Чтение из порядка исполнения

  1. захватить вид с помощью findViewById(R.id.button1)
  2. используйте ((Button)______), чтобы разыграть View как Button
  3. Позвоните .GetText(), чтобы получить ввод текста с кнопки
  4. Позвоните .toString(), чтобы преобразовать изменение символа в строку
  5. Позвоните .ReplaceAll() с "[\\D]", чтобы заменить все нецифровые символы на "" (ничего)
  6. Вызовите Integer.parseInt(), захватите и верните целое число из строки, состоящей только из цифр.
1 голос
/ 05 марта 2019

Есть пять способов конвертировать Первый путь:

String str = " 123" ;
int i = Integer.parse(str); 
output : 123

Второй способ:

String str = "hello123world";
int i = Integer.parse(str.replaceAll("[\\D]" , "" ) );
output : 123

Третий путь:

String str"123";
int i = new Integer(str);
output "123 

Четвертый путь:

String str"123";
int i = Integer.valueOf(Str);
output "123 

Пятый Путь:

String str"123";
int i = Integer.decode(str);
output "123 

Могут быть и другие способы Но вот что я сейчас помню

1 голос
/ 29 октября 2018

Котлин

Существуют доступные методы расширения для их разбора на другие примитивные типы.

Java

String num = "10";
Integer.parseInt(num );
...