如何通过货币作为参数?

时间:2018-07-25 08:51:11

标签: icu react-intl

我有自定义格式

{
  number: {
    USD: {
       style: 'currency',
       currency: 'USD',
    },
    EUR: {
       style: 'currency',
       currency: 'EUR',
    },
  },
}

,我想创建一个ICU消息,以便可以将currency作为参数传递:

formatMessage(message, {amount: 40, currency: 'EUR'})

我会想象这样的事情:

{amount, number, {currency}}

但它不起作用。

1 个答案:

答案 0 :(得分:0)

DecimalFormat规范似乎不支持将占位符嵌入样式参数,因此我只能假定React实现也不支持。

ICU MessageFormat内置了一个货币格式化程序,它将使用其可用的语言环境数据,因此对于欧元区语言环境,您只需要{amount,number,currency}

如果格式化程序可以使用“自定义格式”数据,那也许行得通吗?我没有尝试过,因为我没有在React中开发。