This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git


The following commit(s) were added to refs/heads/master by this push:
     new 9828dc73d LANG-1695: Allow trailing decimal point in 
NumberUtils.isParsable (#1531)
9828dc73d is described below

commit 9828dc73d4f2dbdd03a7a36f5264e5b265673e52
Author: Harshit Goel <[email protected]>
AuthorDate: Wed Dec 17 21:49:20 2025 +0530

    LANG-1695: Allow trailing decimal point in NumberUtils.isParsable (#1531)
    
    * LANG-1695: Allow trailing decimal point in NumberUtils.isParsable
    
    * Remove extra blank line
    
    ---------
    
    Co-authored-by: Gary Gregory <[email protected]>
---
 src/main/java/org/apache/commons/lang3/math/NumberUtils.java     | 2 +-
 src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/apache/commons/lang3/math/NumberUtils.java 
b/src/main/java/org/apache/commons/lang3/math/NumberUtils.java
index 3bfd0ece3..77682188b 100644
--- a/src/main/java/org/apache/commons/lang3/math/NumberUtils.java
+++ b/src/main/java/org/apache/commons/lang3/math/NumberUtils.java
@@ -724,7 +724,7 @@ public static boolean isNumber(final String str) {
      * @since 3.4
      */
     public static boolean isParsable(final String str) {
-        if (StringUtils.isEmpty(str) || str.charAt(str.length() - 1) == '.') {
+        if (StringUtils.isEmpty(str)) {
             return false;
         }
         if (str.charAt(0) == '-') {
diff --git a/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java 
b/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java
index 9eed7d59b..17ee88bc8 100644
--- a/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java
+++ b/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java
@@ -1013,7 +1013,7 @@ void testIsParsable() {
         assertFalse(NumberUtils.isParsable("pendro"));
         assertFalse(NumberUtils.isParsable("64, 2"));
         assertFalse(NumberUtils.isParsable("64.2.2"));
-        assertFalse(NumberUtils.isParsable("64."));
+        assertTrue(NumberUtils.isParsable("64."));
         assertFalse(NumberUtils.isParsable("64L"));
         assertFalse(NumberUtils.isParsable("-"));
         assertFalse(NumberUtils.isParsable("--2"));
@@ -1025,6 +1025,7 @@ void testIsParsable() {
         assertTrue(NumberUtils.isParsable("-018"));
         assertTrue(NumberUtils.isParsable("-018.2"));
         assertTrue(NumberUtils.isParsable("-.236"));
+        assertTrue(NumberUtils.isParsable("2."));
     }
 
     /**

Reply via email to