2009-12-22 20 views
0

快速問題,我有一些JavaScript的集成變量,說:123456或123456789,它可以是任何有效的數字。現在,我想將數字轉換爲像「123,456」或「123,456,789」這樣的字符串。有沒有人有這個好的算法?當然,它應該適用於任何數字。例如:2000 - > 2000; 123456 ---> 123,456轉換數字顯示格式

回答

1

給這個鏡頭。

var num = 12345678; 
var str = num + ""; // cast to string 
var out = []; 
for (var i = str.length - 3; i > 0; i -= 3) { 
    out.unshift(str.substr(i, 3)); 
} 
out.unshift(str.substr(0, 3 + i)); 
out = out.join(','); // "12,345,678" 
1

除了其他優秀的解決方案

var n = 999999 
var s = n.toLocaleString() 
+0

+1 - (15個字符) – nickf 2009-12-22 02:41:21

+0

這是偉大的,因爲它的工作原理與小數(如999999.12345),但它不爲我上插入逗號Chrome或Safari。 – Annie 2009-12-22 02:50:03