前面有篇博文写过数字转换千分位的方法,今天偶然看到一篇博文,对toLocale String()方法进行了更详细的解释,才知道这货这么强大 大佬博文地址在下方
这里仅阐述该方法用于number类型的情况,其他情况(对象和日期等)移步大佬博文 Number.prototype.toLocaleString 首先介绍 toLoacleString 在数字类型上的使用(非常之nb) 有的时候我们需要是整数部分每三位加一个逗号,这时不妨这么搞:
const num = 2333333;
num.toLocaleString(); // 2,333,333
有时候面试时出题人会问如何格式化数字,使用这个是不是可以完打出题人的脸,根本不需要什么正则 下面我们再来看一看 toLocaleString 在数字类型上的一些 options 参数(仅仅是一些常用的属性,具体的属性请查阅 MDN 文档) style 属性 – 表示格式化时使用的样式(默认值是 decimal 也就是纯数字,也可以是 percent 百分比以及 currency 货币),举个栗子
const num = 2333333; num.toLocaleString('zh',{style:'decimal'}); //2,333,333 num.toLocaleString('zh',{style:'percent'}); // 233,333,300% num.toLocaleString('zh',{style:'currency'}); // 报错
注:如上可知,值为 currency 时必须同时指定 options 中的 currency 属性,否则会报错 下面要看的是 style 设为 currency 时才有用的