Banks and credit unions have been using RPG to calculate loan-payment and loan-remaining values since the 70's, at least; even before there was a "power" operator **. The last calculations I wrote (years ago) used packed decimal variables with 15,9 precision, then finally rounded with half-adjust to 2 decimal positions.


----- Original Message -----
From: Dave <dfx1@xxxxxxxxxxxxxx>
To: RPG programming on the IBM i / System i <rpg400-l@xxxxxxxxxxxx>
Sent: Thursday, April 12, 2012 4:55 AM
Subject: RPG math

Hi all,

I recently asked how to access an EXCEL formula from an RPG program
but here I am now having to reproduce the EXCEL PMT function in RPG.
Maybe someone has already done this?
Anyway, I've been given a formula to code and an EXCEL spreadsheet to
control my results.

Which I've coded like this :

    MonthlyRate = interestRate /12;
     MonthlyPayment = ( LoanAmount / MonthlyRate ) *  ( 1 - ( 1 +
MonthlyRate ) ** ( -1  * numberOfPayments ));

LoanRemaining =
          12 * MonthlyPayment *
          1 - ( 1 + MonthlyRate ) ** ( -1 * numberOfPayments -
numberOfPaymentsMade ) /interestRate ;

My fields are defined so (imposed) :

LoanAmount,  MonthlyPayment, LoanRemaining 13S2
numberOfPayments, numberOfPaymentsMade 3 I 0

I've very little experience with RPG math and I'm worried about errors
from intermediate calculations
How should I define the rates MonthlyRate and interestRate so I don't
get any loss of information after the divisions?


As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2021 by and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.