ずみーBlog

元クラゲ研究者(見習い)の92年生まれがエンジニアを目指しながら日々寄り道するブログです。

数値をカンマ付きの金額表示にしたい

ごく短いメモです。 Rubyには:delimited:currencyという便利なメソッド(というかto_sのオプション?)があり、特に引数を指定しなくても金額表示の時のカンマ区切りをよしなにやってくれます。

1000.to_s(:delimited)
# => 1,000

Railsのビューではさらに便利なヘルパーが用意されています

<%= number_to_currency(@item.sell_price, unit: "¥", format: "%u %n" ) %>
# => ¥ 31,514

unit:オプションで¥を指定し、format:オプションでロケールにかかわらず単位が前に来るように指定しています。(そうしないとロケール:jaの時に円マークが後ろにきてしまいます)

参考

ActiveSupport::NumericWithFormat

Rubyで数値を3桁区切りにする方法!

[Ruby on Rails] 数字を整形する便利なViewヘルパー 意外と知られていない(?)便利なヘルパー