簡體   English   中英

Javascript 全球格式貨幣

[英]Javascript Global Format Currency

我一直在尋找幾個小時,似乎沒有簡單的方法以當地貨幣顯示數字。 我已經非常接近了,但我無法獲得最后一條信息,即當地貨幣代碼(以下示例中的美國為“USD”)

使用 navigator.language 我可以獲得本地格式('en-US'等),這很棒。 離完美的全球貨幣格式化器又近了一步,但仍然無法獲取貨幣代碼!

const formatter = new Intl.NumberFormat(navigator.language, {
  style: 'currency',
  currency: 'USD',
  minimumFractionDigits: 0
});

我發現 web 網站有大表格,每個國家/地區的每個貨幣代碼。 我可以嘗試將所有這些數據導入表中,然后將 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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM