We're updating the issue view to help you get more done. 

German compact short formats do not match compact long formats

Description

In code we used to produce compact numbers in ICU, a team found that `de` locales short formats are not consistent with long compact formats. This can be seen in the charts here:

https://www.unicode.org/cldr/charts/latest/summary/de.html#4171

Repro code:

{{ private static void testCompactFormatting() {
BigDecimal[] tests = {
new BigDecimal("9150.01"), // from SIM i18n-lib-93
new BigDecimal("12345.67"),
new BigDecimal("123456.78"),
new BigDecimal("123456789.01"),
new BigDecimal("12345678901.23")
};
for (Locale l : sortAllLocales()) {
final LocalizedNumberFormatter numberFormatter = NumberFormatter
.withLocale(l)
.notation(Notation.compactShort()) // vs. Notation.compactLong()
.precision(Precision.minMaxFraction(0, 2));
System.out.println(l.toLanguageTag());
for (BigDecimal test : tests) {
System.out.println(String.format("\t%s", numberFormatter.format(test).toString()));
}
System.out.println("-----\n");
}
}}}

Output for German:

{{de
9150,01
12.345,67
123.456,78
123,46 Mio.
12,35 Mrd.}}

expected "91,50 Tsd."

It's unclear if this is intentional, but the existence of compact long formats suggests it's an error. Cf:

https://www.unicode.org/cldr/charts/latest/summary/de.html#4195

xpath

None

locale

None

Status

Priority

major

Assignee

John Emmons

Reporter

Addison Phillips

tracReporter

None

Reviewer

None

Labels

None

Components

None

Fix versions

phase

None