1

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

在我的消息中,我使用:

车费是 {0, number, currency}

我创建了一个 MessageFormat 调用实例:

MessageFormat messageFormat = new MessageFormat(msg, locale);

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

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

基于MessageFormat 手册看起来{0, number, currency}是使用NumberFormat.getCurrencyInstance(getLocale())格式化的,所以我想知道这是否可能。

预先感谢您的帮助。

4

1 回答 1

0

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

于 2019-05-23T15:34:10.287 回答