jakartaee / tags

Other
25 stars 28 forks source link

Locale extensions are not supported in fmt:formatNumber #266

Open jaksah opened 2 months ago

jaksah commented 2 months ago

While upgrading from Java 8 to Java 21 I noticed the default formatting of US currency changed from displaying negative numbers within parenthesis to displaying the minus sign, i.e. value -123 displayed as ($123) in Java 8 and -$123 in Java 21. This behavior was probably introduced in an earlier JDK version

According to OpenJDK's NumberFormatProviderImpl, this behavior could be accomplished again by using a Locale with an extension e.g. en-US-u-cf-account. However, using <fmt:setLocale value="en-US-u-cf-account"/> has no effect on <fmt:formatNumber>