This behavior difference was discovered between ICU4C and ICU4J.
Sample code, ICU4C:
ICU4J:
Consensus opinion: we should use the unknown currency "XXX", like ICU4J and JDK are already doing in the ISO code format, with the following output:
The plural long-name string, "unknown currency", comes from locale data.
Follow up with CLDR to add the currency symbol.
—
In addition, one more behavior difference was discovered.
ICU4C sample code:
ICU4J:
Consensus opinion: Since we should apply the default currency when no currency is set, as stated in row 10, we should also apply XXX's rounding rules, which are a fixed two fraction digits.
Desired output:
On 6/27/2018, ICU-TC agreed that U+00A4 should be used for the currency symbol. The desired output is:
Needs new data from CLDR: https://unicode.org/cldr/trac/ticket/11074 "Add symbol for unknown currency"
This is waiting on Peter to finish data integration.