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."));
}
/**