Имам следния код за анализ на променлива String, наречена str.
NumberFormat formatter = NumberFormat.getInstance();
Number number = formatter.parse(str);
Искам да хвана изключението, хвърлено, когато str не е число, само за да го потвърдя. Проблемът, който имам, е, че не винаги хвърля очакваното ParseException. Когато String str започва с число, но след това са символи, изглежда, че получава първите знаци на String и ги анализира като число.
Например:
- ако str="a10" тогава се хвърля ParseException
- ако str="10a" тогава не е хвърлено изключение и номер=10
Не мога да използвам Double.parseDouble(str), защото str може да има запетаи и точки като 1000,98 и този формат не се разбира от този метод.
Защо се случва това? Мога ли да го потвърдя по друг начин? Благодаря