3桁ずつ数字の間に","を挟むには、
numberFormat = (n) -> (n + '').split('').reduceRight (x, y) -> if (x.length + 1) % 4 then y + x else y + ',' + x
とするのがシンプル?
numberFormat = (n) ->
s = n + '';
s = s.replace(/(\d+)(\d{3})/, '$1,$2') while /(\d+)(\d{3})/.test s;
s
でも良いけど、ワンライナーにはならない。(そして、正規表現の方が少し早い)
どちらも、使い方は↓こんな感じ。
s = numberFormat 1234567 # "1,234,567"