码迷,mamicode.com
首页 > 其他好文 > 详细

toString()和toLocaleString()有什么区别

时间:2018-08-19 15:48:17      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:字符   复制   for   mat   千分位   strong   syn   数字   代码   

偶然之间用到这两个方法

然后在数字转换成字符串的时候,并没有感觉这两个方法有什么区别,如下:

1
2
3
4
5
6
7
8
var e=123
 
 
e.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()
 
 
sd
Wed 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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!