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

Shaojin Wen swen at openjdk.org
Wed Aug 6 05:52:09 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

make/jdk/src/classes/build/tools/cldrconverter/LDMLParseHandler.java line 860:

> 858:             if (currentContainer instanceof KeyContainer kc &&
> 859:                 kc.getKey().equals("number") &&
> 860:                 attributes.getValue("sample").equals("-")) {

Suggestion:

            if (currentContainer instanceof KeyContainer kc
                && kc.getKey().equals("number")
                && attributes.getValue("sample").equals("-")) {

Similar to lines 813 to 817 above, the `&&` operator is placed in front to make the style consistent.

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

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


More information about the i18n-dev mailing list