FloydDsilva opened a new pull request, #1623:
URL: https://github.com/apache/commons-lang/pull/1623

   **Background**
   NumberUtils.isCreatable(String) previously returned true for certain 
scientific‑notation inputs (e.g. 1E-2147483648) that cannot be represented by 
any Java Number type. Calling NumberUtils.createNumber with such inputs 
resulted in a NumberFormatException, breaking the implied contract between the 
two methods.
   
   **Changes**
   
   Updated isCreatable to reject unrepresentable negative exponents in 
scientific notation.
   Refined exponent parsing to correctly handle type suffixes (D, F, L) and 
preserve valid inputs.
   Updated createNumber to gracefully handle NumberFormatException raised 
during BigDecimal creation by propagating a consistent and descriptive failure 
for invalid values.
   
   
   **Result**
   These changes restore consistency between isCreatable and createNumber, 
ensuring that isCreatable only returns true for values that createNumber can 
successfully construct, while keeping existing behavior intact for all valid 
numeric representations across supported Java versions.
   
   Test cases for the same has been added.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to