On Sat, 20 May 2023 00:00:42 GMT, Justin Lu <j...@openjdk.org> wrote:
> Please review this PR which updates the Scientific Notation section of > Decimal Format. It aims to resolve > [JDK-8159023](https://bugs.openjdk.org/browse/JDK-8159023) as well as > [JDK-6282188](https://bugs.openjdk.org/browse/JDK-6282188). > > **Scientific Notation** in Decimal Format contains the definition for a > scientific notation formatted number's mantissa as such: _The number of > significant digits in the mantissa is the sum of the minimum integer and > maximum fraction digits, and is unaffected by the maximum integer digits. For > example, 12345 formatted with "##0.##E0" is "12.3E3"._ > > Both the definition and example are incorrect, as the actual result is > "12.E345". > > The following example data show that scientific notation formatted numbers do > not adhere to that definition. As, according to the definition, the following > numbers should have 3 significant digits, but in reality, they have up to 5. > > 123 formatted by ##0.#E0 is 123E0 > 1234 formatted by ##0.#E0 is 1.234E3 > 12345 formatted by ##0.#E0 is 12.34E3 > 123456 formatted by ##0.#E0 is 123.5E3 > 1234567 formatted by ##0.#E0 is 1.235E6 > 12345678 formatted by ##0.#E0 is 12.35E6 > 123456789 formatted by ##0.#E0 is 123.5E6 > > > The actual definition of the mantissa, as well as examples and further > context are included in this change. In addition, a test has been added that > tests various patterns to numbers and ensures the format follows the new > definition's mathematical expression. This pull request has now been integrated. Changeset: 46c4da7f Author: Justin Lu <j...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/46c4da7fddb8103934f2a90b4456a5ce6ed3467c Stats: 147 lines in 2 files changed: 140 ins; 0 del; 7 mod 8159023: Engineering notation of DecimalFormat does not work as documented Reviewed-by: naoto ------------- PR: https://git.openjdk.org/jdk/pull/14066