in reply to Re: Calc::Euro (Re: The Euro)
in thread The Euro

Well in the spirit of that request, heres an additional sub which you can add to the module. You must add the additional key value pair of 'EUR' => 1 to the rates hash or you'll have problems doing any euro conversions :)

sub euroCalc { my ($self,$amount, $from,$to) = @_; croak("Invalid start currency") unless defined($rates{uc $from}); croak("Invalid target currency") unless defined($rates{uc $to}); # What was it in Euros # $amount = ($amount * $rates{$to}) / $rates{$from}; # Now convert to target currency # return $amount * $rates{$to}; # Or in one line return ($amount * $rates{$to}) / $rates{$from}; }


And some test prints

use strict; use Calc::Euro; my $eurocalc = Calc::Euro->new('NLG'); print $eurocalc->to_national(1), "\n"; # 2.20371 print $eurocalc->euroCalc($eurocalc->euroCalc(1,'NLG','EUR'),'EUR','NL +G'), "\n"; print $eurocalc->euroCalc(1,'NLG','BEF'), "\n"; print $eurocalc->euroCalc(1,'NLG','EUR'), "\n"; print $eurocalc->euroCalc(1,'EUR','NLG'), "\n";


So you notice that you can go from one currency to Euros and then to your target currency. Might prove handy to someone.

Have fun :)

Replies are listed 'Best First'.
Re: Re: Re: Calc::Euro (Re: The Euro)
by Juerd (Abbot) on Jan 02, 2002 at 15:46 UTC
    That'd be euro_calc, then ;) (perlstyle).
    Update (200201021252+0100) I like freestyle even better: $eurocalc->freestyle() :)

    BTW, I'd probably have used (from, to, amount) or auto-detect the order.

    2;0 juerd@ouranos:~$ perl -e'undef christmas' Segmentation fault 2;139 juerd@ouranos:~$