gpt4 book ai didi

javascript - 如何在 Intl.NumberFormat 中格式化货币符号?

转载 作者:行者123 更新时间:2023-12-05 03:37:28 32 4
gpt4 key购买 nike

在 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/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com