2012-03-26 122 views
0

我們使用Ruby Money gem。它效果很好。如何使用Ruby Money gem設置rounding_method?

我們現在有一個新的要求,將轉換後的貨幣數量四捨五入爲整個美元(沒有 便士)。

我發現Ruby的圓法Fixnum對象

190.round(-1)返回200 149.round(-1)返回100

這就是我想要的。

我看到Money :: Bank :: VariableExchange類支持一個rounding_method。

我可以通過調用

Money.default_bank

得到一個處理銀行的對象,但我怎麼註冊或分配的舍入方法的Money.default_bank對象?

謝謝!

回答

0

既然你要使用的銀行VariableExchange:

Money.default_bank = Money::Bank::VariableExchange.new { |n| n.round(-2) } 

將您的默認銀行設置爲使用VariableExchange和ro並兌換到最近的美元。

0

望着文檔:

http://rubydoc.info/github/RubyMoney/money/Money/Bank/Base#rounding_method-instance_method

看起來你需要爲創建銀行:

Money::Bank::Base.new {|n| n.round(-1) } 
+0

嗨。我們正在使用Money :: Bank :: VariableExchange,它有代碼: – 2012-03-26 15:30:30

+0

它使用方法:marshal_dump和marshal_load – 2012-03-26 15:32:16

+0

這是關於銀行創建的所有內容,您需要在設置第一個銀行時定義舍入機制,即對象當您使用Money.default_bank時引用 – 2012-03-28 10:52:14

相關問題