Stefano Crocco
3/30/2007 9:53:00 AM
Alle venerdì 30 marzo 2007, John Butler ha scritto:
> Drew Olson wrote:
> > John Butler wrote:
> >> Hi,
> >>
> >> I am trying to calculate a monthly payment for a loan in Ruby. Does
> >> anyone know what the equivalent for math.pow in Java is for Ruby?
> >>
> >> @monthlypayment = @principal*@rate/(1-Math.pow(1/(1+@rate),@payments))
> >>
> >> Ive searched everywhere and cant seem to find anything.
> >>
> >> thanks
> >>
> >> Johnny B
> >
> > I think this is what you're looking for:
> >
> > irb(main):001:0> 2 ** 1
> > => 2
> > irb(main):002:0> 2 ** 2
> > => 4
> > irb(main):003:0> 2 ** 3
> > => 8
> > irb(main):004:0> 2 ** 4
> > => 16
>
> Yes this is what i am looking for. How do i then use it to calculate
> amonthly payment, i have tried quite a few things but cant get the
> syntax right: @monthlypayment =
> @principal*@rate/(1-**(1/(1+@rate),@payments))
>
>
> So for the example below:
>
> Suppose you finance your car with a loan of $12000 at a yearly interest
> rate of 11% for four years, and make equal payments monthly. How much
> will your payments have to be? Here the parameters are principal P =
> $12000, interest rate i = 0.11, number of years n = 4, and number of
> periods per year q = 12. Then the monthly car payment M is given by
>
> M = Pi/[q(1-[1+(i/q)]-nq)],
> = ($12000)(0.11)/[(12)(1-[1+(0.11/12)]-(4)(12))],
> = $110/(1-1.009166666...-48),
> = $310.15.
>
>
> Anyone done this before?
** is an operator, just like + or *; it's used this way: base**exponent. In
your case, you should write:
@principal*@rate/(1-1/(1+@rate)**@payments)
I hope this helps
Stefano