У меня есть регулярное выражение, которое должно проверить, если строка десятичного числа ...Regext помощи для десятичных чисел
^([\+\-])?\d{1,10}[\.,]?\d{1,10}?$
- начать с одного + или - // не обязательно
- следуют с цифрой
- следует за десятичным одиночным сепаратором // не является обязательным
- и следуйте по одной-десяти цифрам // не обязательно - это должно быть следовать только в случае десятичного разделителя
, но не работает в случае
-1 //single digit
и если есть больше, чем 10 digits w/o decimal separator -> should fail
assertEquals(false, Util.isDecimalNumber("12345678901"));
Есть ли более простой способ проверить, является ли строка десятичным числом?
Вы ограничены регулярное выражение? Почти каждый язык программирования предоставляет функцию, которая делает это для вас. – flowit
Проблема в конце вашего RegExp. Вам нужно использовать '{0' quantifier вместо'? ': **'^([\ + \ -])? \ D {1,10} [\.,]?\ d {0,10} $ '** –
Действительно ли номер' 123456.789123456'? – hjpotter92