我有正则表达式,应检查是否字符串是十进制数...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'量词而不是'?':**'^([\ + \ - ])?\ d {1,10} [\。,]?\ d {0,10} $'** –
是'数123456.789123456'有效? – hjpotter92