ICU4J-取决于区域设置的前缀或后缀相同的货币符号

时间:2019-05-23 12:43:19

标签: java icu icu4j

我想根据使用MessageFormat类的语言环境正确地放置$符号(作为前缀或后缀),但到目前为止没有成功。我需要本地化货币符号 placement ,而不是符号本身。

在我的信息中,我使用:

  

汽车费用为{0,数字,货币}

然后创建一个MessageFormat调用实例:

MessageFormat messageFormat = new MessageFormat(msg, locale);

结果是正确放置了货币符号,但也根据使用的语言环境进行了更改。对于语言环境en_us,我得到$;对于语言环境pl_pl,我得到zł。

所以问题是,如何告诉 MessageFormat 始终使用相同的货币符号(在我的情况下为$),但要根据语言环境放置它(作为前缀或后缀)?

基于MessageFormat manual {0,数字,货币} 看起来是使用 NumberFormat.getCurrencyInstance(getLocale())格式化的,所以我想知道是否完全有可能。

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

事实证明这是可能的。 设置为美元货币的 CurrencyAmount 对象应作为参数传递给 MessageFormat 类的 format 方法。