我正在尝试将货币设置为以下格式
const formatter = new Intl.NumberFormat("en-GB", {
style: "currency",
currency: "GBP",
minimumFractionDigits: 2
});
const moneyFormat = formatter.format(7360);
预期£73.60
,但它返回£7,360.00
知道我在做什么错吗?
答案 0 :(得分:1)
如果金额为pence
,而所需结果为英镑,则必须将金额除以100(考虑100便士= 1英镑)。 minimumFractionDigits
调整当前小数点后的尾随零,但不操纵实际值。
您应该在下面尝试
const formatter = new Intl.NumberFormat("en-GB", {
style: "currency",
currency: "GBP",
minimumFractionDigits: 2,
});
const moneyFormat = formatter.format(7360 / 100);
console.log(moneyFormat)
答案 1 :(得分:0)
format
函数采用原始值,并将其格式化为您指定的小数位数。您给它的原始数字是7360
,因此它要加上两个小数位使其成为7360.00
。需要传递的数字实际上是73.60
。
如果您将货币值作为整数使用,则可以简单地将其除以100以显示期望的值。
const moneyFormat = formatter.format(7360 / 100);
答案 2 :(得分:0)
此代码可以帮助您获得不带小数的格式。
const formatter = new Intl.NumberFormat("en-GB", {
currency: "GBP"
});
const moneyFormat = formatter.format(7360);
console.log("$",moneyFormat);