<i18n dev> RFR: 8363972: Loose matching of dash/minusSign in number parsing [v8]

Justin Lu jlu at openjdk.org
Wed Aug 6 19:02:52 UTC 2025


On Tue, 5 Aug 2025 22:35:58 GMT, Naoto Sato <naoto at openjdk.org> wrote:

>> Enabling lenient minus sign matching when parsing numbers. In some locales, e.g. Finnish, the default minus sign is the Unicode "Minus Sign" (U+2212), which is not the "Hyphen Minus" (U+002D) that users type in from keyboard. Thus the parsing of user input numbers may fail. This change utilizes CLDR's `parseLenient` element for minus signs and loosely matches them with the hyphen-minus so that user input numbers can parse. As this is a behavioral change, a corresponding CSR has been drafted.
>
> Naoto Sato has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Refining docs

src/java.base/share/classes/java/text/DecimalFormat.java line 310:

> 308:  * minimal digits, and other characteristics are all the same as the positive
> 309:  * pattern. That means that {@code "#,##0.0#;(#)"} produces precisely
> 310:  * the same behavior as {@code "#,##0.0#;(#,##0.0#)"}. In

I think it is appropriate to have this here since it regards the negative sub pattern. However, we should either  link to this info or add additional info in the parse method. (Since the `parse` method covers behavior when strict/lenient.)

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26580#discussion_r2258014200


More information about the i18n-dev mailing list