!68 修复 NumberUtil.isNumber 方法

Merge pull request !68 from jonzhang-3/v4-dev
This commit is contained in:
Looly 2019-08-28 13:55:07 +08:00 committed by Gitee
commit 3ff93c2914
2 changed files with 5 additions and 2 deletions

View File

@ -1059,9 +1059,9 @@ public class NumberUtil {
boolean allowSigns = false;
boolean foundDigit = false;
// deal with any possible sign up front
int start = (chars[0] == '-') ? 1 : 0;
int start = (chars[0] == '-' || chars[0] == '+') ? 1 : 0;
if (sz > start + 1) {
if (chars[start] == '0' && chars[start + 1] == 'x') {
if (chars[start] == '0' && (chars[start + 1] == 'x' || chars[start + 1] == 'X')) {
int i = start + 2;
if (i == sz) {
return false; // str == "0x"

View File

@ -66,6 +66,9 @@ public class NumberUtilTest {
public void isNumberTest() {
Assert.assertTrue(NumberUtil.isNumber("28.55"));
Assert.assertTrue(NumberUtil.isNumber("0"));
Assert.assertTrue(NumberUtil.isNumber("+100.10"));
Assert.assertTrue(NumberUtil.isNumber("-22.022"));
Assert.assertTrue(NumberUtil.isNumber("0X22"));
}
@Test