Ruby

数値に3桁ごとのコンマを足す

与えたれた数値(正確には数値を表現した文字列オブジェクト)を整形して3桁ごとに整形して出力するプログラムです。数値フォーマットのクラスくらいコアライブラリにあるだろう、、と思っていたのですが、どうもコンマを足すクラスは無いみたいですね(Railsにはあります)。という訳で意外と役に立つかも?しれません。

numbers = ["10","1000","1000000"]

numbers.each do |n|
  nn = ""
  n.reverse.split("").each_with_index do |v,i|
    nn += "," if i % 3 == 0 && i > 0
    nn += v
  end
  puts n + " -> " + nn.reverse
end

以下は実行結果です。

10 -> 10
1000 -> 1,000
1000000 -> 1,000,000

参考URL