2015-09-27 2 views
0

Я работал с JSoup в студии android. В моем коде я есть это:JSoup От String до Int

Elements description = document.select("something"); 

, если я это сделать -

String foo = description.text(); 

все работает отлично.

Но если я это сделать -

int y = Integer.parseInt(description.text()); 

Почему мой крах приложения?

Весь мой код:

public Void doInBackground(Void... params) { 
     try { 
      // Connect to the web site 
      Document document = Jsoup 
        .connect("something") 
        .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko") 
        .get(); 
      Elements description = document.select("something"); 

      String foo = description.text(); 
      int fuu = Integer.parseInt(foo); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 
+2

вывесить ошибку. –

+2

wild guess: description.text() не является допустимым целым числом – Reimeus

+0

Попробуйте: Integer.parseInt (description.text(). ToString()); –

ответ

0

Это почти невозможно сказать, что это происходит в вашем коде без трассировки стека и исходного HTML или URL. Однако я вижу одну возможность для сбоя, то есть строка не содержит допустимого числа. Поскольку вы заявляете, что распечатка строки actaully выводит «65», я могу только предположить, что в строке могут использоваться странные символы unicode uft8, которые выглядят или являются числами, но не могут быть интерпретированы Integer.parseInt (String).

Например, если входная является строка "" это может выглядеть как "65", но это Юникод с использованием U + 1D7FC (МАТЕМАТИЧЕСКИЙ MONOSPACE ЗНАЧНОГО SIX) и U + 1D7FB (МАТЕМАТИЧЕСКАЯ MONOSPACE DIGIT FIVE)

перечень таких числовых символов в кодировке Unicode можно найти here

работа вокруг (suggested in the comment here) может быть использовать Normalizer class:

String numberStr = Normalizer.normalize(description.text(), Form.NFKC); 
Integer.parseInt(numberStr); 
0

пожалуйста, попробуйте int foo = Integer.parse(description.ownText());

Смежные вопросы