Я бы ожидал, что следующий код будет генерировать ParseException, но это «2» может кто-нибудь объяснить это или это ошибка в реализации Java? Я запускаю его на самых последних версиях Oracle (1.7.0_05) и osx.NumberFormat.parse возвращает неожиданный результат
try {
NumberFormat format = NumberFormat.getInstance(Locale.US);
Number number = format.parse("2 3");
System.out.println(number);
} catch (ParseException e) {
System.out.println("2 3 is not a valid number!");
}