> Please review this PR and [CSR](https://bugs.openjdk.org/browse/JDK-8314607) > which clarifies the behavior of patterns in regards to the max integer > digits in j.text.DecimalFormat. > > The current specification (of `applyPattern`) states that patterns do not set > the value of max integer digits. This is incorrect, these > methods/constructors do set a value for the max integer digits. If the > pattern is in scientific notation, the max integer digits value is derived > from the pattern. Otherwise, the pattern is ignored, and the limit is set to > `Integer.MAX_VALUE`. > > See below, > > DecimalFormat df = new DecimalFormat(); > df.applyPattern("000.000E0"); > df.getMaximumIntegerDigits(); // ==> 3 > df.applyPattern("000.000"); > df.getMaximumIntegerDigits(); // ==> 2147483647 > > DecimalFormat df = new DecimalFormat("000.000"); > df.getMaximumIntegerDigits(); // ==> 2147483647 > DecimalFormat df = new DecimalFormat("000.000E0"); > df.getMaximumIntegerDigits(); // ==> 3 > > > Method descriptions should be fixed, and the relevant constructors need to > mention the behavior as well.
Justin Lu has updated the pull request incrementally with one additional commit since the last revision: Reflect review comments: Non sci notation first. Link to Scientific Notation section ------------- Changes: - all: https://git.openjdk.org/jdk/pull/15349/files - new: https://git.openjdk.org/jdk/pull/15349/files/3702f48b..93b0053e Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=15349&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15349&range=00-01 Stats: 33 lines in 1 file changed: 4 ins; 0 del; 29 mod Patch: https://git.openjdk.org/jdk/pull/15349.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/15349/head:pull/15349 PR: https://git.openjdk.org/jdk/pull/15349