Как разбирать числа более строго, чем NumberFormat в Java?

Я проверяю ввод данных пользователем из формы.

Я анализирую ввод с помощью NumberFormat , но это зло и позволяет почти все. Есть ли способ более строгого анализа числа?

Например. Я бы не хотел использовать эти три входа для целого числа, но Numberformat разрешает их все:

NumberFormat nf = NumberFormat.getNumberInstance();
nf.setParseIntegerOnly(true);

Number numberA = nf.parse("99.731");    // 99 (not what the user expect)
Number numberB = nf.parse("99s.231");   // 99 (invalid)
Number numberC = nf.parse("9g9");       // 9  (invalid)

System.out.println(numberA.toString());
System.out.println(numberB.toString());
System.out.println(numberC.toString());

8
задан Jonas 11 December 2011 в 01:25
поделиться