我一直在努力理解为什么在使用Number.prototype.toLocaleString
时,它会将我的数字乘以100.
var num = 5;
alert(num + ' vs ' + num.toLocaleString('en-GB', { style: 'percent' }));
阅读所有参考指南,我没有看到任何暗示它应该是的东西。
我完全错过了这一点吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
造成这种情况的percent
而不是toLocaleString
,原因是百分比是从0
到1
的数字0%
来衡量的100%
,如果您需要5%
,请使用:
var num = .05;
alert(num + ' vs ' + num.toLocaleString('en-GB', { style: 'percent' }));
答案 2 :(得分:0)
正如许多其他系统所做的那样,toLocaleString
的百分比样式将1解释为100%。
这是表达百分比的常用方法(例如in probability theory,其中100%概率为1
)。