Rubyのsprintfは数字を3桁ずつコンマで区切る書式指定がない件
1,000,000等と表示することは多いというのに、いちいちgsub使うのはうざい。数字の表記方法でよく使われるのだからsprintfでサポートすべきだと思うな。スクリプト言語なんだし。sprintf.cと自前で実装してるんだからさ。
"%#d" % 100000 # => "100000" "%#x" % 0x100000 # => "0x100000" "%#o" % 0100000 # => "0100000" "%#b" % 0b1011 # => "0b1011" "%," % 100000 # => # ~> -:5:in `%': malformed format string - %, (ArgumentError) # ~> from -:5:in `<main>'
「%#d」とか「%,」あたりが妥当だろうか。
追記
,だけでいいんでしたっけ?
_で区切る国とかありませんでしたっけ?
そのへんはlocale依存ということで。あるいは「%_」も定義するか。
区切るのも「整形」であることには変わりないからsprintf/formatで実装されるべきだと俺は思う。名前重要。もっと利便性を追究すべきだと思うんだよね。