一、若是數字帶有小數點的話,能夠使用toLocaleString()方法實現這個需求javascript
var a = 8462948.24; b.toLocaleString(); //8,462,948.24
二、不帶小數點咱們能夠簡單的寫個正則去實現java
(有小數點咱們能夠用split()分割,獲得數組,裏面存儲這整數和小數部分,使用正則匹配實現整數加入逗號,最後拼接起來。可是不如直接使用上面方法,簡單粗暴。)數組
num.toString().replace(/(\d)(?=(?:\d{3})+$)/g,'$1,')
匹配規則: 將該num轉化爲字符串後,全局(/g)正向匹配,看是否符合斷言(?=(?:\d{3})+$
)部分,直到匹配結束。即遇到 數字 + 該數字後面緊跟連續的三位數字(而且無論這連續的三位數字出現多少次),符合則在該數字(’$1’)後加入逗號,替換的時候忽略(?:)這連續的三位數.函數
function numFormat(num) { var c = (num.toString().indexOf ('.') !== -1) ? num.toLocaleString() : num.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); return c; }