在格式化%的Intl.NumberFormat在JavaScript
问题描述:
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%在格式化%的Intl.NumberFormat在JavaScript
答
因为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%";
。