首页 > 解决方案 > 如何在 Javascript 中使用尾随 ISO 代码格式化货币?

问题描述

给定 的值1000.5,我想将其格式化为1,000.50 USD尾随货币代码是最相关的部分)。性能也很重要,因为格式将为数百万个值发布。因此,不鼓励使用正则表达式。

您可以使用Intl.NumberFormat或其他一些标准化的 JavaScript 数字格式化 API 来完成此操作吗?

例子:

const formatter = Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', currencyDisplay: 'code' })
formatter.format(1000.5)

实际的:

1,000.50 美元

预期的:

1,000.50 美元

标签: javascriptformat

解决方案


这是一个使用尾随 ISO 代码格式化的简单函数。

   function FormatWithTrailingISO(currency, type,num) {
    const formatter = Intl.NumberFormat(type, {
      style: "currency",
      currency: currency,
      currencyDisplay: "code",
    });
    return formatter.format(num).replace(currency, "") + " " + currency;
   }

用法:

console.log(FormatWithTrailingISO("USD", "en-US", 1000.5).trim());

推荐阅读