var discount = 25.1;
var option = {
style: 'percent',
maximumFractionDigits: 2
};
var formatter = new Intl.NumberFormat(locale, option);
var discountFormat = formatter.format(discount );
// discountFormat return -> 2.510%
虽然我希望你这样回来:25.10%
答案 0 :(得分:9)
因为25.1
是2510%
。百分比是100
的分数。如果您有100%,则100/100
等于1. 25.1%
为25/100
或0.251
而非25.1
var discount = 0.251;
var option = {
style: 'percent',
minimumFractionDigits: 2,
maximumFractionDigits: 2
};
var formatter = new Intl.NumberFormat("en-US",option);
var discountFormat = formatter.format(discount );
console.log(discountFormat);

此外,如果您想保留尾随零,则需要设置minimumFractionDigits
,因为百分比的默认值为0.
如果您的值是要显示的实际百分比,您只需将%符号放在末尾,例如value = 25.1+"0%";
。
答案 1 :(得分:0)
或者您可以使用箭头功能
const percentageFormatter = intl = value => intl.formateNumber(value/100, {
style: "percent",
maximumFractionDigits:2
}
如果要用于带百分比后缀“%”的字段。 否则
const Num = 3223;
const CurrencyFormatter = intl => intl.formateNumber(intl.locale, {
style: "percent",
maximumFractionDigits:2
}
console.log(CurrencyFormatter (Num));