Javascript全局格式货币

Javascript全局格式货币,javascript,Javascript,我已经搜索了几个小时,似乎没有简单的方法以当地货币表示数字。我已经非常接近了,但我无法获得最后一条信息,即当地货币代码(“USD”在下面的示例中代表美国) 使用navigator.language,我可以获得本地格式(“en-US”等),这非常好。离完美的全局货币格式化程序又近了一步,但仍然无法获取货币代码 const formatter = new Intl.NumberFormat(navigator.language, { style: 'currency', currency:

我已经搜索了几个小时,似乎没有简单的方法以当地货币表示数字。我已经非常接近了,但我无法获得最后一条信息,即当地货币代码(“USD”在下面的示例中代表美国)

使用navigator.language,我可以获得本地格式(“en-US”等),这非常好。离完美的全局货币格式化程序又近了一步,但仍然无法获取货币代码

const formatter = new Intl.NumberFormat(navigator.language, {
  style: 'currency',
  currency: 'USD',
  minimumFractionDigits: 0
});
我发现一些网站上有大表格,上面有每个国家的每种货币代码。我可以尝试将所有这些数据导入到一个表中,然后将gps位置或浏览器位置映射到其中一个位置,但这会很混乱。另一种选择是让用户从下拉列表中选择,但这同样非常混乱

我们真的到2020年了吗?没有人想过要创造一种动态的方式将当地货币代码输入浏览器


有人解决了这个问题吗?

以下是我的想法。可能是世界上第一个全球货币格式化程序。应该在任何国家都能完美发挥作用。(需要jQuery):

function formatNumberToLocalCurrency(amount=0, refresh=false) {
  if (refresh || !localStorage.geoplugin_currencyCode) {
    $.getJSON('http://www.geoplugin.net/json.gp?jsoncallback=?', function (data) {
      localStorage.geoplugin_currencyCode = data.geoplugin_currencyCode;
    });
  }

  const formatter = new Intl.NumberFormat(navigator.language || 'en-US', {
    style: 'currency',
    currency: localStorage.geoplugin_currencyCode || 'USD',
    minimumFractionDigits: 0
  });
  return formatter.format(amount);
}