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

commit 7775bf5a2e0fdb051e826b2092b68f827d54a25f
Author: Gary D. Gregory <garydgreg...@gmail.com>
AuthorDate: Sun Jun 15 08:17:33 2025 -0400

    Internal refactoring
---
 .../java/org/apache/commons/lang3/math/NumberUtils.java    | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 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 ada805324..233718ccb 100644
--- a/src/main/java/org/apache/commons/lang3/math/NumberUtils.java
+++ b/src/main/java/org/apache/commons/lang3/math/NumberUtils.java
@@ -328,7 +328,7 @@ public static Number createNumber(final String str) {
         // Need to deal with all possible hex prefixes here
         final String[] hexPrefixes = {"0x", "0X", "#"};
         final int length = str.length();
-        final int offset = str.charAt(0) == '+' || str.charAt(0) == '-' ? 1 : 
0;
+        final int offset = isSign(str.charAt(0)) ? 1 : 0;
         int pfxLen = 0;
         for (final String pfx : hexPrefixes) {
             if (str.startsWith(pfx, offset)) {
@@ -502,7 +502,7 @@ public static Number createNumber(final String str) {
      */
     private static String getMantissa(final String str, final int stopPos) {
          final char firstChar = str.charAt(0);
-         final boolean hasSign = firstChar == '-' || firstChar == '+';
+         final boolean hasSign = isSign(firstChar);
          final int length = str.length();
          if (length <= (hasSign ? 1 : 0) || length < stopPos) {
              throw new NumberFormatException(str + " is not a valid number.");
@@ -510,7 +510,7 @@ private static String getMantissa(final String str, final 
int stopPos) {
          return hasSign ? str.substring(1, stopPos) : str.substring(0, 
stopPos);
     }
 
-    /**
+     /**
      * Utility method for {@link #createNumber(java.lang.String)}.
      *
      * <p>Returns {@code true} if s is {@code null} or empty.</p>
@@ -563,7 +563,7 @@ public static boolean isCreatable(final String str) {
         boolean allowSigns = false;
         boolean foundDigit = false;
         // deal with any possible sign up front
-        final int start = chars[0] == '-' || chars[0] == '+' ? 1 : 0;
+        final int start = isSign(chars[0]) ? 1 : 0;
         if (sz > start + 1 && chars[start] == '0' && 
!StringUtils.contains(str, '.')) { // leading 0, skip if is a decimal number
             if (chars[start + 1] == 'x' || chars[start + 1] == 'X') { // 
leading 0x/0X
                 int i = start + 2;
@@ -616,7 +616,7 @@ public static boolean isCreatable(final String str) {
                 }
                 hasExp = true;
                 allowSigns = true;
-            } else if (chars[i] == '+' || chars[i] == '-') {
+            } else if (isSign(chars[i])) {
                 if (!allowSigns) {
                     return false;
                 }
@@ -741,6 +741,10 @@ public static boolean isParsable(final String str) {
         return withDecimalsParsing(str, 0);
     }
 
+    private static boolean isSign(final char ch) {
+        return ch == '-' || ch == '+';
+     }
+
     /**
      * Utility method for {@link #createNumber(java.lang.String)}.
      *

Reply via email to