Я использую DecimalFormat
для синтаксического анализа/проверки ввода. К сожалению, он позволяет использовать символы в качестве суффикса при разборе.
Пример кода:
try {
final NumberFormat numberFormat = new DecimalFormat();
System.out.println(numberFormat.parse("12abc"));
System.out.println(numberFormat.parse("abc12"));
} catch (final ParseException e) {
System.out.println("parse exception");
}
Результат:
12
parse exception
Я бы предпочел исключение синтаксического анализа для обоих из них. Как я могу сказать DecimalFormat
не допускать ввода типа "12abc"
?