Ну, из того, что я вижу, вы пытаетесь преобразовать '£', который не является целым числом, поэтому вы получаете для этого исключение. У вас также есть десятичное значение, которое целое не может обрабатывать, поэтому по этой причине также генерируется исключение.
public static int parseInt(String s) throws NumberFormatException
Анализирует строковый аргумент как десятичное целое. Символы в строке должны быть десятичными цифрами, за исключением того, что первым символом может быть знак минус ASCII «-» («\ u002D»), чтобы указать отрицательное значение или знак ASCII плюс «+» («\ u002B») для указания положительного значения. Полученное целочисленное значение возвращается точно так же, как если бы аргумент и radix 10 были указаны как аргументы метода parseInt (java.lang.String, int).
Параметры: S - строка, содержащая представление INT, чтобы быть разобраны
Возвращает: целочисленное значение, представленное аргументом в десятичной системе.
Throws: NumberFormatException - если строка не содержит разборное целое число.
, что вы могли бы сделать, если вы знаете, что все будет «£ XXXX.XX», что вы можете изменить эту строку
interest(Integer.parseInt(balanceLabel.getText()));
этому
interest(Double.parseDouble(balanceLabel.getText().substring(1));
, который затем возвращает «1000,0»
public String substring(int beginIndex)
Возвращает строку, которая является подстрокой этой строки. Подстрока начинается с символа в указанном индексе и продолжается до конца этой строки. Примеры:
"несчастным" .substring (2) возвращает "счастливый"
"Харбисона" .substring (3) возвращает "зубров"
"пустоты".подстрока (9) возвращает «» (пустая строка)
Параметры: beginIndex - начальный индекс включительно.
Возвраты: указанная подстрока.
Throws: IndexOutOfBoundsException - если beginIndex отрицательный или больше длины этого объекта String.
Вы должны устранить знак E перед разбором строки в Integer – esprittn
Любая идея, как я могу избавиться от нее, пока она читает то, что находится в JLabel? –
Удивительные ответы. Я ценю время и знания, которые вы все оказали мне на помощь. С учетом сказанного я решил использовать «Float» вместо «Double», как сказал @dambros. Оба ответа от Лазаньи и дамбро должны рассматриваться другими пользователями с аналогичной проблемой, поскольку они чрезвычайно информативны. Еще раз спасибо. –