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