カレンシータイプのデータじゃないけど、1,000,000のように3桁毎にカンマを入れたいし、どうもrubyのprintfにはフォーマット指定はないし、どうすんのかなー、と思ってググったらあちこちにこんな例が出ていた。これが定番っぽい。
anIntNumber.to_s.reverse.gsub( /(\d{3})(?=\d)/, ‘\1,’ ).reverse
一旦整数を文字列にして、逆転させ後ろから3桁毎に”,”を入れて、もう一度逆転させて出来上がり。うむーこれって最小のツールを与えてそれを組み合わせて解決するカーニハン・プローガー的アプローチだな。