2012-03-26 121 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

相关问题