在 JSON 数据中,我有如下形式的某些货币数据值:
const currencyData = [
{
"₹": "INR"
},
{
"¥": "JPY"
},
{
"€": "EUR"
},
{
"£": "GBP"
}
];
我创建了一个函数,它接受 2 个参数,一个用于“金额”,另一个用于“货币代码”,但是,当第二个参数是“$”或“¥”(即货币符号)时,可以做什么。我的目的是将货币符号与上述 JSON 数据映射并给出相关输出,例如:传递“$”然后它应该与上述 JSON 数据进行比较过滤并传递“USD”输出然后它可以传入下面的函数
const currencyFormatterNew = (amount, currCode) => {
let currencyCode;
try {
if (currCode == "undefined" || currCode == "") {
currencyCode = "";
} else {
currencyCode = currCode;
return new Intl.NumberFormat("en-US", {
style: "currency",
currency: currencyCode,
minimumFractionDigits: 0
}).format(amount);
}
} catch (err) {
console.log(err);
}
};
函数调用如下:{currencyFormatterNew(10000, "JPY")}
用上述 json 数据映射“货币符号”然后提供可在创建的函数中使用的所需输出的最佳解决方案是什么?
这是codesandbox链接:https://codesandbox.io/s/selection-and-operation-antd-4-17-0-alpha-0-forked-2sqzt
最佳答案
const getCurrencyCode = (code) => {
const k = currencyData.find(a => Object.keys(a) == code);
return Object.entries(k)[0][1];
}
你可以试试这个。 如果你愿意,你可以改变最后的返回语句如下
return Object.values(k); // it will return an array
关于javascript - 如何在 Intl.NumberFormat 中格式化货币符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69279172/