toString()和toLocaleString()有什麼區別

偶然之間用到這兩個方法javascript

而後在數字轉換成字符串的時候,並無感受這兩個方法有什麼區別,以下:java

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()會讓數字三位三位一分隔,像咱們有時候數字也會三位一個分號spa

 

再繼續看數組轉成字符串分別用這兩個方法有什麼區別呢,看看,代碼以下code

1
2
3
4
5
6
7
8
9
var  aa=[1,2,3]
 
 
aa.toLocaleString()
"1,2,3"
 
 
aa.toString()
"1,2,3"

 也並無區別哦orm

而後再上網看看發現好像在轉換時間格式上有區別,那麼看看吧,代碼以下:blog

 

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)"

 恩 這樣一目瞭然看到了差異ip

這樣總結以上就是toString()和toLocaleString()兩點區別:ci

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.當目標是標準時間格式時,用以上兩種方法是有區別的,區別看以上

相關文章
相關標籤/搜索