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);


Reply via email to