[前][次][番号順一覧][スレッド一覧]

rails:1209

From: otoriad@g...
Date: Fri, 2 Jun 2006 12:21:53 +0900
Subject: [rails:1209] Re: 価格の通貨単位を変えたい

On 2006/06/02, at 11:46, Hiroyuki Tsutsumi wrote:
> 堤です。
>
> Ruby も Rails も初心者です。
> 「RailsによるアジャイルWebアプリケーション開発」の 
> 本をベースに勉強しているのですが、
> サンプルだと価格の通貨単位が「$」になっているのを「¥」にする 
> 方法がわかりません。
>
> P70のソースコードの
> sprintf("%0.2f", product.price)
> だと思うのですが・・・・
>
> まさか、この程度のことではまるとは思ってもいませんでした。 orz

お世話になっております。
Rails勉強会@東京4回,5回に参加した小林です。

私が本のサンプルを改造した際は、下記の通り、
depot/app/helpers/application_helper.rb
にfmt_yensを追加してみたのですが、
勉強会で、諸橋さんに「そのためのメソッドはすでにある」と
教えていただきました。

http://api.rubyonrails.org/
こちらページの左列2段目のClassesから
ActionView::Helpers::NumberHelper
を選んでみてください。
また、このClassesの下の方にActiveSupportというのがあ 
るのですが、
勉強会で、ここに便利なメソッドがたくさんあると教えていただきまし 
た。

ぜひご覧になってみてください。


depot/app/helpers/application_helper.rb

   def fmt_dollars(amt)
     sprintf("$%0.2f", amt)
   end

   def fmt_yens(amt)
     require 'bigdecimal'
     a = BigDecimal(amt.to_s).to_i.to_s.reverse.scan(/.{1,3}/).join 
(',').reverse
     b = BigDecimal(amt.to_s).frac.to_s("F")[2 .. -1]
     if b != "0"
     b = "." + b
     elsif b == "0"
     b = ""
     end
     a + b + "円"
   end


--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

   @  1206 2006-06-02 04:46 [h.tsutsumi@g...     ] 価格の通貨単位を変えたい                
      1207 2006-06-02 05:02 ┣[bsdmad@g...         ]                                       
      1211 2006-06-02 06:25 ┃┣[toykyo@t...         ]                                     
   @  1213 2006-06-02 06:48 ┃┗[h.tsutsumi@g...     ]                                     
      1214 2006-06-02 06:56 ┃ ┗[toykyo@t...         ]                                   
   @  1218 2006-06-02 08:23 ┃  ┗[h.tsutsumi@g...     ]                                 
->    1209 2006-06-02 05:21 ┗[otoriad@g...        ]