Встреча с NumberFormatException - PullRequest
       18

Встреча с NumberFormatException

0 голосов
/ 25 февраля 2012

Я пытаюсь преобразовать строку в двойную, но получаю исключение NumberFormatException.

Вот мой код:

String x = "";
// String ary[]=new String[10];
while (finalstr.charAt(stpr) != ' ') {
    // System.out.print(finalstr.charAt(stpr));
    Character c = new Character(finalstr.charAt(stpr));

    String s = c.toString(c);
    ary[i] = s;
    x = x + ary[i];
    i++;

    stpr++;
    // first++;
}
// System.out.print(x);
String yo = x;
// System.out.print(yo); //it prints well
// double d = Double.valueOf(yo.trim()).doubleValue();
double doubleprim = Double.parseDouble(yo);
System.out.print(doubleprim);

Вся помощь приветствуется.

Ответы [ 3 ]

0 голосов
/ 25 февраля 2012

О, чёрт возьми, такой уродливый код!Однако, если я правильно понял, вы пытаетесь создать строку из всех символов в finalstr, пока не будет достигнут интервал.

Используйте этот код:

String [] splits = finalstr.split(" ");
double doubleprim = Double.parseDouble(splits[0]);

С этого момента, если выполучите исключение eNumberFormat, оно связано с неправильным строковым значением, а не с чем-либо еще.

0 голосов
/ 20 июля 2012

Вы можете попробовать это. Это сработало для меня:

               CharSequence cs = amount.getText();
                if(cs!=null && cs.length()>0)
                {
                double pro = Double.parseDouble(cs.toString());
                }

здесь, как вы можете видеть, сумма - это текст редактирования, который я использую в Android.

0 голосов
/ 25 февраля 2012

попробуй Double.valueOf(yo.trim()).doubleValue();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...