请在这里取笑我,但我有一个简单的任务,即输入数字并将其格式化为货币代码。
即:
var value = 1000;
value.toLocaleString('en-AU, {
style: 'currency',
currency: 'AUD;,
minimumFractionDigits: 2
});
// A$1,000.00
哪个有效 - 唯一的问题是,它位于一个函数中,我在其中传递值和货币..
函数(价值,货币)
现在我必须维护货币到区域设置映射的列表。有没有一种快速、轻量级的方法将数字格式化为货币。我很高兴发送区域设置而不是货币。不管怎样,我不想维护两个列表。
如果您想要的是在哪里获取等价列表,我没有找到,但您可以构建匹配这些列表的列表
货币(找到“ISO 4217 - 货币代码维护:获取正确的货币代码”): https://www.six-group.com/en/products-services/financial-information/data-standards.html
您不需要两个列表。只需有一个地图(对象),使用货币作为键,使用区域设置作为值。
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'));
return new Intl.NumberFormat(locale, { style: 'currency', currency: currencyCode }).format(value)