javascript - Vue i18n 格式化美元货币

标签 javascript vue.js vuejs2 vue-i18n

当我以美元显示我的货币时,输出始终采用以下格式 500.00 美元

我试图从一开始就删除 USD 前缀。

这是我的 numberFormats 配置:

numberFormats: {
    'en': {
        currency: {
            style: 'currency', currency: 'GBP'
        }
    },
    'us': {
        currency: {
            style: 'currency',
            currency: 'USD',
            currencyDisplay: 'symbol'
        }       
    }
}

我通过 {{ $n(500, 'currency') }} 显示货币。

最佳答案

您需要使用格式en-US来指定配置。

如前所述in the docs , Vue I18n 使用 Intl.NumberFormat格式化依赖于 ISO 4217 currency codes 的数字.

const i18n = new VueI18n({
  locale: 'en-US',
  numberFormats: {
    'en-US': {
      currency: {
        style: 'currency',
        currency: 'USD',
        currencyDisplay: 'symbol'
      }
    }
  },
})

new Vue({
  i18n
}).$mount('#app')
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-i18n/dist/vue-i18n.js"></script>

<div id="app">
  {{ $n(500, 'currency') }}
</div>

关于javascript - Vue i18n 格式化美元货币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53566695/

相关文章:

javascript - 如何处理 img 标签和其他标签上的 onLoad 事件

javascript - 调用第一个函数并获取数据后调用第二个函数,react + redux

javascript - 同时使用 Vue.js 和 jQuery 自动完成

javascript - Nuxt + Vuex - 如何将 Vuex 模块分解为单独的文件?

javascript - vue-chartjs无法从vue导入数据

javascript - vue - 自定义 block - 语法高亮

javascript - 如何在 javascript 或 css 中调整字符长度的 flex ?

javascript - 为什么我的回调不能与 axios 库一起使用?

Vue.js 3 - 尝试构建具有 2 种布局的系统

javascript - VUEX,当$store.state为null时怎么办