货币代码到语言环境 JS

问题描述 投票:0回答:3

请在这里取笑我,但我有一个简单的任务,即输入数字并将其格式化为货币代码。

即:

var value = 1000;
value.toLocaleString('en-AU, {
    style: 'currency',
    currency: 'AUD;,
    minimumFractionDigits: 2
});
// A$1,000.00

哪个有效 - 唯一的问题是,它位于一个函数中,我在其中传递值和货币..

函数(价值,货币)

现在我必须维护货币到区域设置映射的列表。有没有一种快速、轻量级的方法将数字格式化为货币。我很高兴发送区域设置而不是货币。不管怎样,我不想维护两个列表。

javascript json currency
3个回答
4
投票

如果您想要的是在哪里获取等价列表,我没有找到,但您可以构建匹配这些列表的列表

货币(找到“ISO 4217 - 货币代码维护:获取正确的货币代码”): https://www.six-group.com/en/products-services/financial-information/data-standards.html

区域设置: http://www.science.co.il/Language/Locale-codes.asp


3
投票

您不需要两个列表。只需有一个地图(对象),使用货币作为键,使用区域设置作为值。

var currencyToLocale = {
  'AUD': 'en-AU'
    // etc...
};

function formatAsCurrency(value, currency) {
  // get the locale from the map...
  var locale = currencyToLocale[currency];

  return value.toLocaleString(locale, {
    style: 'currency',
    currency: currency,
    minimumFractionDigits: 2
  });
};

console.log(formatAsCurrency(1000, 'AUD'));


-2
投票
return new Intl.NumberFormat(locale, { style: 'currency', currency: currencyCode }).format(value)
© www.soinside.com 2019 - 2024. All rights reserved.