Я пытаюсь закодировать калькулятор Java. Бегаю в некоторых исключений NumberFormat при попытке вычислить следующее:NumberFormatException при умножении двух целых чисел
99.9(4x/8+k)
Самое смешное, что его дает мне ошибку после того, как я распространяю 99.9 только если произведение 99.9 и «к» больше или равно 1000. Таким образом, для значений больше 10. В моем коде я пытаюсь загрузить строковую переменную с суммами всех констант уравнения, тогда возникает ошибка. Вот что код выглядит следующим образом:
double constantSum = 0;
//create a stringtokenizer object and convert each token to a double as
//follows, then, add the double to constantSum
constantSum = constantSum + Double.valueOf(token);//the token comes
//from the stringtokenizer object
вход, который Double.valueOf (маркер) получает это 1098,900, который продукт 99,9 и 11, обратите внимание, что вход был округляется до места тысячных по объект NumberFormat, который я инициализировал в коде.
какие-либо идеи о том, как избавиться от этого NumberFormat исключения
Вот подробности о том, как исключение выглядит следующим образом: Исключения в потоке «основной» java.lang.NumberFormatException: Для ввода строки: «1,098.900 " в sun.misc.FloatingDecimal.readJavaFormatString (FloatingDecimal.java:2043) в sun.misc.FloatingDecimal.parseDouble (FloatingDecimal.java:110)
благодаря
Вы ошибаетесь, вход не '1098.900', это' 1,098.900'. См. Сообщение об ошибке. Почему у вас есть это промежуточное значение как строка в коде? – Andreas
Возможный дубликат [Что такое исключение NumberFormatException и как его исправить?] (Http://stackoverflow.com/questions/39849984/what-is-a-numberformatexception-and-how-can-i-fix-it) – xenteros