12345678を12,345,678に変換する

何をやりたいかと言うと、数字をカンマ入りにしてお金を扱う時のような見た目にしたいわけです。
Railsにはnumber_with_delimiterってのがあって、ActionViewのヘルパーにあります。
今回はRubyでやりたかったのでソースをパクってきました。

irb(main):070:0> "12345678".gsub!(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1,")
=> "12,345,678"

うむ。いい感じです。さすがRails、なんでも入っています。

合わせて知っておきたいnumber_with_precision