Я использую следующие методы Java для анализа двойного числа, которое было
набирается пользователем и сохраняется в строке s
.
Однако я знаю локаль, которую использует пользователь. Если вы этого не сделаете
знаю, тогда трудно быть уверенным, как разобрать число
потому что значение типа «100.000» означает разные вещи
в разных локалях.
NumberFormat numberFormat = DecimalFormat.getInstance(locale);
numberFormat.setGroupingUsed(false);
ParsePosition parsePosition = new ParsePosition(0);
Number n = numberFormat.parse(s, parsePosition);
if (n == null || parsePosition.getErrorIndex() >= 0 || parsePosition.getIndex() < s.length())
{
/* not a valid number */
}