Author: niallp Date: Fri Mar 28 03:10:27 2014 New Revision: 1582585 URL: http://svn.apache.org/r1582585 Log: LANG-992 Fix NumberUtils#isNumber() returns false for "0.0", "0.4790", et al
Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/math/NumberUtils.java commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/math/NumberUtils.java URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/math/NumberUtils.java?rev=1582585&r1=1582584&r2=1582585&view=diff ============================================================================== --- commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/math/NumberUtils.java (original) +++ commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/math/NumberUtils.java Fri Mar 28 03:10:27 2014 @@ -1364,7 +1364,8 @@ public class NumberUtils { } } return true; - } else { // leading 0, but not hex, must be octal + } else if (Character.isDigit(chars[start + 1])) { + // leading 0, but not hex, must be octal int i = start + 1; for (; i < chars.length; i++) { if (chars[i] < '0' || chars[i] > '7') { Modified: commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java?rev=1582585&r1=1582584&r2=1582585&view=diff ============================================================================== --- commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java (original) +++ commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java Fri Mar 28 03:10:27 2014 @@ -1235,6 +1235,12 @@ public class NumberUtilsTest { } @Test + public void testLANG992() { + compareIsNumberWithCreateNumber("0.0", true); + compareIsNumberWithCreateNumber("0.4790", true); + } + + @Test public void testLANG972() { compareIsNumberWithCreateNumber("0xABCD", true); compareIsNumberWithCreateNumber("0XABCD", true);