在格式化%的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.12510%。百分比是100的分数。如果你有100%它会100/100等于1,所以25.1%25/1000.25125.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%";