fc2ブログ

2025.02 «  - - - - - - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - - - - - » 2025.04
TOP > CATEGORY > [2.1]action_view

TOP

Rails 2.1・その3(number_to_currency でフォーマットを指定) 

2008年05月24日 ()
number_to_currencyで、新しくフォーマットを指定することができるようになりました。

今までですと、強制的に[通貨][金額]の順に表示されていました。

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.

【広告】

[2008.05.24(Sat) 17:07] [2.1]action_viewTrackback(0) | Comments(2) 見る▼
↑TOPへ


COMMENT

by -
通りすがりですが参考にさせていただきました。
ただ、情報が古くなっているのか誤植なのかは分かりませんが、number_to_currency関数のformatオプション指定子は現在それぞれ"u,n"ではなく、"%u,%n"となっているようです。

また、デフォルトでprecisionオプションが2になっているため、日本円では銭の単位までデフォルトで表示されます。

全然違ってたー by 自分
ご指摘ありがとうございます。
私のこの記事めちゃくちゃでしたね。
早速指摘通りに直しておきました。
また検索して他の記事とかにも引っかかったりなんかしたらでいいので是非遊びに来て下さいね。

コメントを閉じる▲
TOP