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%
解决方法
因为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%”;.