标签:字符 复制 for mat 千分位 strong syn 数字 代码
偶然之间用到这两个方法
然后在数字转换成字符串的时候,并没有感觉这两个方法有什么区别,如下:
| 
 1 
2 
3 
4 
5 
6 
7 
8 
 | 
var e=123e.toString()"123"e.toLocaleString()"123" | 
是吧,并没有什么区别,上面的e是一个三位数的数字,那么要是四位数以上呢
var a=1234 a.toString() "1234" a.toLocaleString() "1,234"
当数字是四位及以上时,toLocaleString()会让数字三位三位一分隔,像我们有时候数字也会三位一个分号
再继续看数组转成字符串分别用这两个方法有什么区别呢,看看,代码如下
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
 | 
var aa=[1,2,3]aa.toLocaleString()"1,2,3"aa.toString()"1,2,3" | 
也并没有区别哦
然后再上网看看发现好像在转换时间格式上有区别,那么看看吧,代码如下:
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
 | 
var sd=new Date()sdWed Feb 15 2017 11:21:31 GMT+0800 (CST)sd.toLocaleString()"2017/2/15 上午11:21:31"sd.toString()"Wed Feb 15 2017 11:21:31 GMT+0800 (CST)" | 
恩 这样一目了然看到了差别
这样总结以上就是toString()和toLocaleString()两点区别:
1.当数字是四位数及以上时,有区别,区别看以上代码
var a = 8462948.24;
b.toLocaleString();
//8,462,948.24
价格千分位格式化,例如12233556.76675格式化之后12,233,556.76
  function formatNum(num){
     return (num.toFixed(2) + ‘‘).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, ‘$&,‘);  }2.当目标是标准时间格式时,用以上两种方法是有区别的,区别看以上
toString()和toLocaleString()有什么区别
标签:字符 复制 for mat 千分位 strong syn 数字 代码
原文地址:https://www.cnblogs.com/chiangyibo/p/9501197.html