При использовании функции org.apache.commons.lang.math.NumberUtils.isNumber(String str) я вижу, что передача строки, подобной "1f", проходит проверку, а передача "1a" не выполняется.
org.apache.commons.lang.math.NumberUtils.isNumber(String str)
"1f"
"1a"
Какие здесь разрешены алфавиты?
Прыжки на подножку ...
1f принимает 1 в качестве числа с плавающей запятой.
1f
"1a" не будет рассматриваться как шестнадцатеричное значение, потому что перед ним нужно 0x,
0x
ex: "0x1a"
0x1a
С документация :
Допустимые числа включают шестнадцатеричное значение, помеченное 0x классификатор, научная запись и цифры, помеченные типом квалификатор (например, 123L).
1f означает число с плавающей запятой 1.