toLocaleString
2018-09-18 本文已影响63人
张培_
最近遇到了一个需求:将一串数字转化成美元的样式展示出来,简单的说就是:
- 50000000 --> $50,000,000
一开始看到这个需求首先想到的就是自己写一个函数去format,随手一搜发现了这个API感觉太牛逼了!细细研究了一把之后才发现其功能的强大
将普通的Number转换成USD/EUR/CHY currency(美元欧元人民币)
const data = 500000000
data.toLocaleString('en-US')
50000000 --> $50,000,000
data.toLocaleString('it-IT')
50000000 --> $50.000.000
data.toLocaleString('zh-u-nu-hanidec')
50000000 --> $五〇〇,〇〇〇,〇〇〇
JS的Number有方法toLocaleString(),将数字类型转成字符串,调用即可修改该Number的展示方式,例如:每三位加一个逗号
关于这个API的一些Tips
- 第一个参数决定了show的number样式
- 第二个参数是option对象,其中包含一些重要的属性
-
style:确定了这串数字的代表什么
- currency: 货币
- 当style选中这个的时候必须添加属性
currency
确定其货币类型(USD?EUR?CNY
) - 同时使用这两个属性,使得展示的string之前加上不同的货币符
- 当style选中这个的时候必须添加属性
- percent 百分比:使用了可以在末尾加百分号
- decimal 纯数字格式:默认值
- currency: 货币
-
minimumFractionDigits以及maximumFractionDigits
如果想要展示的currency中不包含小数,那么必须同时设置
{minimumFractionDigits:0,maximumFractionDigits:0}
这两个属性分别表示最少最多的小数,位数少了就用0补,位数多了就砍掉
-