Это потому, что myText.getText()
это 11,5
(не числовой), а не 11.5
(двойной).
Попробуйте сделать,
Double.parseDouble(myText.getText().replaceAll(",", "."));
Это заменит ,
на.
.
В качестве альтернативы для преобразования номера используется NumberFormat
.
Также я заметил, что вы используете Integer.parseInt()
при разборе double
чисел,Вот почему вы получаете исключения.
Вы должны использовать NumberFormat.getInstance(locale).parse(myText.getText())
, чтобы получить требуемый результат.Не забывайте, что parse()
возвращает Number
объект, поэтому чтобы получить double, сделайте следующее:
double d = NumberFormat.getInstance(locale).parse(myText.getText()).doubleValue();