Rails 2.1・その3(number_to_currency でフォーマットを指定)
number_to_currencyで、新しくフォーマットを指定することができるようになりました。
今までですと、強制的に[通貨][金額]の順に表示されていました。
この順序を :format オプションで柔軟に変えることが出来るようになったとよ。:format オプションには、以下の値を指定できるようです。
というわけでこんな感じで使えます
:format オプションを指定しないと、:format=>"%u%n" を指定したことと同じことになります。
詳しくは
actionpack/lib/action_view/helpers/number_helper.rb
を見てみるといいかも。
やっぱ金が関わってくるところは気になって書かずにはいられないなー、と速攻このエントリを書いて見ました。
参考ブログ
Living on the edge (of Rails) #14 - the extreme edition. Extremely late.
【広告】
今までですと、強制的に[通貨][金額]の順に表示されていました。
number_to_currency(100, :unit=>"¥") # この¥を半角にすると色々面倒なので全角にしてみました
↓
¥100
この順序を :format オプションで柔軟に変えることが出来るようになったとよ。:format オプションには、以下の値を指定できるようです。
%u 通貨
%n 金額
というわけでこんな感じで使えます
number_to_currency(100, :unit=>"¥", :precision=>0, :format=>"%u %n") # 通貨と金額の間にスペースを入れてみました
↓
¥ 100
number_to_currency(100, :unit=>"円", :precision=>0, :format=>"%n%u") # 通貨を金額の後ろに持ってきてみました
↓
100円
:format オプションを指定しないと、:format=>"%u%n" を指定したことと同じことになります。
詳しくは
actionpack/lib/action_view/helpers/number_helper.rb
を見てみるといいかも。
やっぱ金が関わってくるところは気になって書かずにはいられないなー、と速攻このエントリを書いて見ました。
参考ブログ
Living on the edge (of Rails) #14 - the extreme edition. Extremely late.
【広告】
COMMENT
全然違ってたー by 自分
ご指摘ありがとうございます。
私のこの記事めちゃくちゃでしたね。
早速指摘通りに直しておきました。
また検索して他の記事とかにも引っかかったりなんかしたらでいいので是非遊びに来て下さいね。
私のこの記事めちゃくちゃでしたね。
早速指摘通りに直しておきました。
また検索して他の記事とかにも引っかかったりなんかしたらでいいので是非遊びに来て下さいね。
ただ、情報が古くなっているのか誤植なのかは分かりませんが、number_to_currency関数のformatオプション指定子は現在それぞれ"u,n"ではなく、"%u,%n"となっているようです。
また、デフォルトでprecisionオプションが2になっているため、日本円では銭の単位までデフォルトで表示されます。