2012-03-26 3 views
0

Wir verwenden das Juwel Ruby Money. Es funktioniert großartig.Wie richte ich rounding_method mit dem Juwel Ruby Money ein?

Wir haben jetzt eine neue Anforderung, um den konvertierten Währungsbetrag auf ganzen Dollar (ohne die Pennies) zu runden.

Ich habe Ruby Runde Methode für Fixnum

190.round (-1) liefert 200 149.round (-1) liefert 100

gefunden, das, was ich will.

Ich sehe, dass Money :: Bank :: VariableExchange-Klasse eine rounding_method unterstützt.

Ich kann einen Griff an die Bank-Objekt erhalten, indem

Money.default_bank

Aufruf aber wie kann ich die Rundungsmethode für das Objekt Money.default_bank registrieren oder zuweisen?

Vielen Dank!

Antwort

0

Da Sie der Bank VariableExchange verwenden möchten:

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

Legt fest, dass Ihre Standardbank die VariablenExchange und ro verwendet und tauscht auf den nächsten Dollar.

0

bei der Dokumentation der Suche:

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

Sieht aus wie Sie eine Bank erstellen müssen wie:

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

Hallo. Wir verwenden Money :: Bank :: VariableExchange, das den Code hat: –

+0

Es verwendet Methoden: marshal_dump und marshal_load –

+0

Dies ist alles über Bankerstellung, müssen Sie den Rundungsmechanismus definieren, wenn Sie Ihre erste Bank, dh das Objekt einrichten Darauf wird hingewiesen, wenn Sie Money.default_bank verwenden –